shiro总结1
1:通过ini配置文件创建securitymannager;
2:调用subject.login方法主体提交认证,提交的token
3:securitymannager进行认证,securitymannager最终由modularrealmauthenticator进行认证;
4:modularrealmauthenticator调用inirealm(给realm传入tolen)去ini配置文件中查询用户信息
5:inirealm根据输入的token(usernamepasswordtoken)从shiro-first.ini查询用户信息,根据账号查询用户信息(账号,密码)
如果查询到用户信息,就给modularrealmauthenticator返回用户信息(账号,密码)
如果查询不到,就给modularrealmauthenticator返回null
6:modularrealmauthenticator接收inirealm返回authentication认证信息
返回的认证信息时null,modularrealmauthenticator抛出异常unknownaccountexception
如果返回认证信息不是null(说明inireal找到了用户),对inirealm返回用户密码(在ini文件中存在)
shiro认证流程:(掌握)
1、subject(主体)请求认证,调用subject.login(token)
2、SecurityManager(安全管理器)执行认证
3、SecurityManager通过ModularRealmAuthenticator进行认证。
4、ModularRealmAuthenticator将token传给realm,realm根据token中用户信息从数据库查询用户信息(包括身份和凭证)
5、realm如果查询不到用户给ModularRealmAuthenticator返回null,ModularRealmAuthenticator抛出异常(用户不存在)
6、realm如果查询到用户给ModularRealmAuthenticator返回AuthenticationInfo(认证信息)
7、ModularRealmAuthenticator拿着AuthenticationInfo(认证信息)去进行凭证(密码 )比对。如果一致则认证通过,如果不致抛出异常(凭证错误)。
subject:主体
相关推荐
likesyour 2020-08-01
ErixHao 2020-06-03
GDreams0 2020-06-01
nullcy 2020-04-25
visionzheng 2020-04-20
ganjing 2020-02-16
杜鲁门 2020-11-05
luckyxl0 2020-08-16
Dullonjiang 2020-08-09
xclxcl 2020-08-03
zmzmmf 2020-08-03
MicroBoy 2020-08-02
ganjing 2020-08-02
zmzmmf 2020-07-09
MicroBoy 2020-07-05
zzhao 2020-06-26
子云 2020-06-18
visionzheng 2020-06-07
neweastsun 2020-06-04