Shiro是一个安全管理的框架,其可以实现常见安全管理相关的所有功能。包括:认证,鉴权,加密,记住等等。对于使用者而言,其核心概念如下:
- Subject:主体,代表与应用进行安全通信的主体,可以理解成“current user”,常见的实际对象如:访问网页的爬虫,实际浏览的用户,机器人等等。
- SecurityManager:安全管理器,代表的是管理所有Subject的机构,可以理解成一个核心的主体管理机构,相当于SpringMVC中的DispatcherServlet的功能。
- Realm:域:负责存储交互的信息,如用户的token等。可以理解成数据源,用户的信息是从这里面进行获取的。
Shiro的组件架构
Shiro由多种组件实现上述所说的功能,其实现机制如下图所示: