shiro身份认证过程
2016-03-21 16:35
435 查看
shiro的基本认证流程图:
第一步,调用subject(默认是Delegating 实现类 )的login方法,把AuthenticationToken传递到 Security Manager,委托Security Manager进行身份验证
第二步,Security Manager(默认是DefaultSecurityManager)调用 Authenticator(默认是ModularRealmAuthenticator实现类,可配置多realm)的authenticate方法进行身份验证。
第三步,ModularRealmAuthenticator根据配置的的数量进行多realm或单realm验证。
第四步,在Reams被身份验证调用之前,期间和以后,AuthenticationStrategy(默认是AtLeastOneSuccessfulStrategy)被调用使其能够对每个Realm的结果做出反应
第五步,Realm 通过getAuthenticationInfo方法获取AuthenticationInfo信息,先查缓存,如果没有在调用doGetAuthenticationInfo方法获取AuthenticationInfo信息,最后调用CredentialsMatcher的doCredentialsMatch进行用户名密码的校验
第一步,调用subject(默认是Delegating 实现类 )的login方法,把AuthenticationToken传递到 Security Manager,委托Security Manager进行身份验证
第二步,Security Manager(默认是DefaultSecurityManager)调用 Authenticator(默认是ModularRealmAuthenticator实现类,可配置多realm)的authenticate方法进行身份验证。
第三步,ModularRealmAuthenticator根据配置的的数量进行多realm或单realm验证。
第四步,在Reams被身份验证调用之前,期间和以后,AuthenticationStrategy(默认是AtLeastOneSuccessfulStrategy)被调用使其能够对每个Realm的结果做出反应
第五步,Realm 通过getAuthenticationInfo方法获取AuthenticationInfo信息,先查缓存,如果没有在调用doGetAuthenticationInfo方法获取AuthenticationInfo信息,最后调用CredentialsMatcher的doCredentialsMatch进行用户名密码的校验
相关文章推荐
- 验证码识别技术 一
- qgis
- DLL 类型
- TinyXml快速入门(三)
- java安全(六) 终极武器数据证书
- 再谈 CSS 预处理器
- 为何wait需要在同步代码块中调用
- SMSSDK-短信验证码的集成实现
- 十九
- 域渗透——Hook PasswordChangeNotify
- MongoDB---之---入门
- Xcode去除某种类型的警告
- TinyXml快速入门(二)
- 列表框显示当前年份到前一百年
- [Angular 2] Template property syntax
- uva 562
- Android中使用自身携带的Junit新建一个测试工程
- 正则表达式判断闰年
- DOM方式进行的XML文件、Document、String之间的相互转换
- Java单元测试Junit(一)Junit介绍及使用