shiro重复登录不重新执行doGetAuthenticationInfo认证解决办法
2018-02-08 13:05
731 查看
最近用shiro发生一个问题,那就是用户登录后,管理员禁用了该用户,该用户再次登录时不执行Realm中的doGetAuthenticationInfo方法,导致禁用失效,但是重启系统可以生效,猜测是缓存导致了该问题。
debug跟踪了下源码。
如图,第二次登录info不为空,使用了缓存,没有调用Realm的认证方法
但是我明明清除认证缓存了,再次debug下Realm的clearCachedAuthenticationIfo清除认证缓存方法,发现原来是key值不对,我清除的时候使用的是对象作为key,而缓存用的是username也就是对象中的一个属性作为key,如下图
如上图,问题解决
debug跟踪了下源码。
如图,第二次登录info不为空,使用了缓存,没有调用Realm的认证方法
但是我明明清除认证缓存了,再次debug下Realm的clearCachedAuthenticationIfo清除认证缓存方法,发现原来是key值不对,我清除的时候使用的是对象作为key,而缓存用的是username也就是对象中的一个属性作为key,如下图
如上图,问题解决
相关文章推荐
- shiro遇到404,500,403等错误就需要重新登录的解决办法
- shiro不执行认证的解决办法
- 使用shiro框架进行用户登录认证报错(HTTP Status 500 - Authentication failed for token submission )解决
- shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
- shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
- 【Shiro】调用doGetAuthenticationInfo进行认证成功之后,isAuthenticated是false的问题。
- shiro认证后 却没有执行 doGetAuthorizationInfo
- shiro 登录时不执行授权回调方法doGetAuthorizationInfo
- shiro 登录不执行授权回调方法doGetAuthorizationInfo
- kilo版openstack的dashboard在session超时后重新登录报错解决办法
- shiro doGetAuthenticationInfo
- kilo版openstack的dashboard在session超时后,重新登录报错解决办法
- [转][原]openstack-kilo--issue(六)kilo版openstack的dashboard在session超时后重新登录报错解决办法
- firefox 下出现flash上传时提示回话超时,需重新登录问题的解决办法
- PHPCMS V9“密码重试次数太多,请过-xxx分钟后重新登录!”的解决办法
- QT一个事件被重复执行两次的解决办法
- 关于何时执行shiro AuthorizingRealm 里的 doGetAuthenticationInfo与doGetAuthorizationInfo
- mongo eval方法执行需要认证解决办法
- 【转】android中重复连接ble设备导致的连接后直接返回STATE_DISCONNECTED的解决办法---不错不错,重新连接需要花费很长的时间
- 删除node_modules文件夹后重新安装插件后执行npm run build报错问题的解决办法