shiro 中的AuthorizingRealm有2个方法doGetAuthorizationInfo()和doGetAuthenticationInfo()
都继承AuthorizingRealm类然后重写doGetAuthorizationInfo和doGetAuthenticationInfo。
doGetAuthenticationInfo这个方法是在用户登录的时候调用的也就是执行SecurityUtils.getSubject().login()的时候调用;(即:登录验证)
而doGetAuthorizationInfo方法是在我们调用SecurityUtils.getSubject().isPermitted()这个方法时会调用doGetAuthorizationInfo(),
我们在某个方法上加上@RequiresPermissions这个,那么我们访问这个方法的时候,就会自动调用SecurityUtils.getSubject().isPermitted(),从而区调用doGetAuthorizationInfo 匹配
理解:
当用户在登录界面点击登录时,请求到被过滤器拦截,调用doGetAuthenticationInfo,验证用户名和密码,当用户想要授权使用角色权限时,我们使用SecurityUtils.getSubject().isPermitted()来判断,这是就会调动doGetAuthorizationInfo
原文地址:https://www.cnblogs.com/19322li/p/11105667.html
时间: 2024-10-08 19:45:25