情况
1.前后端分离
2.shiro使用缓存
3.doGetAuthorizationInfo授权方法不执行
原因
1.doGetAuthorizationInfo调用必须满足条件为不在url不在shiro config里的过滤url里
2.doGetAuthorizationInfo会在校验权限或角色时进行调用
3.如果存在缓存doGetAuthorizationInfo只调用一次
解决方法
1.确保url不在shiro config的过滤url里(nc才会犯这种错)
2.确保验证了权限,可以使用默认页面或filter等验证权限(前后端项目不执行属于此类情况)
3.确保登录前以logout(大部分前后端分离不执行都是这种情况)
第三点注意:shiro的退出是由shiro config的logout控制的,所以不用使用securityutils的lougout专门logout