首先要先知道shiro中的授权功能就像懒加载一样,只有使用的时候才会进去doGetAuthorizationInfo这个方法。
使用授权功能让doGetAuthorizationInfo方法运行有两种方式,第一种是在请求接口上使用注解,第二种是在页面代码中使用shiro标签。下面演示第一种方法。
如下图所示使用@RequiresPermissions注解即可,value值对应的是角色。
使用以上注解后还需要在shiro的配置类中添加开始shiro注解的代码。不然只添加注解是不会生效的。如下:
/**
* 开启shiro注解
* @return
*/
@Bean
public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor(){
AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
authorizationAttributeSourceAdvisor.setSecurityManager(getDefaultWebSecurityManager());
return authorizationAttributeSourceAdvisor;
}