shiro realm何时调用

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

猜你喜欢

转载自www.cnblogs.com/19322li/p/11105667.html