Shiro
Shiro是一款由apache开发的java安全框架,特点是简便易用。
主要功能:身份认证,授权,会话管理,加密。
支持特性:web支持,并发支持,测试支持,用户伪装,用户记忆。
Shiro外部结构:
shiro外部结构.png主体subject:主体表示‘用户’,这个用户不一定是真实存在的,与当前应用程序交互的东西都是主体,是一个抽象概念,所有主体都绑定到SecurityManager,跟主体的交互都会由SecurityManager是来代理,可以认为subject主体是一个委托者,SecurityManager是一个执行者。
SecurityManager安全管理器:所有跟安全有关的操作都会与SecurityManager交互,且它管理着所有的subject;它是shiro的核心。
Realm-域:Shiro从Realm中获取数据(用户,角色,权限),算是安全数据源。
Shiro内部结构
shiro内部结构.pngSubject:主体,相当于交互的用户。
SecurityManager:安全管理器,shiro核心。
Authenticator:认证器,负责认证策略,即主体什么情况算是认证通过,可以扩展。
Authenticator:授权器,或者访问控制器,决定主体是否有权限进行操作,控制用户访问应用的功能。
Realm:安全数据源,实现方式由客户端提供。
SessionManager:会话管理,管理session的生命周期。
SessionDao:session的数据操作对象,保存操作Session数据。
CacheManager:缓存控制器,可以保存很少改变的信息,提高访问速度性能。
Cryptography:密码模块,提供加密组件。
网友评论