Shiro功能
Shiro结构图- Authentication
身份认证/登录,验证用户是否拥有相应的身份; - Authorization
授权,即权限认证,验证某个已认证的用户是否拥有某个权限; - Session Management
会话管理; - Cryptography
加密,保护数据的安全性; - Web Support
Web支持,可以非常容易地集成到Web环境; - Caching:
缓存; - Testing:
提供测试支持; - Run As:
允许一个用户假装成另一个用户(如果他们允许)的身份进行访问; - Remember Me:记住我。
Shiro架构
Shiro架构俯视图- Subject
主体,代表了当前“用户”,这个用户不一定是具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等,是一个抽象概念;所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager; - SecurityManager
安全管理器,所有与安全有关的操作都会与SecurityManager交互,且它管理着所有Subject,可以看出他是Shiro的核心,负责与其他组件进行交互。 - Realm
域,Shiro从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm得到用户相应的角色/权限来判断用户身份是否合法;也需要从Realm得到用户相应的角色/权限来判断用户是否能进行操作;
网友评论