角色和权限注解,都是数组,可以写多个
加注解就是启动aop,将aop的配置配置出来。
加注解方式来看授权的问题
@requiresRoles() 和 @Requirespermissions 两个标签 对角色拥有权限的限定判断
两种注解的方式:
@RequiresRoles()
@RequiresPermissions() 更推荐
注解方式添加配置:
开启aop设置true;
添加LifecycleBeanPostProcessor;
添加AuthorizationAttributeSourceAdvisor;
推荐@RequiresPermissions("xxx"): 注解权限
@RequiresRoles("admin"): 根据相关角色访问路径.
Shiro通过注解配置授权
引入maven配置,如下:
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency>
在springmvc.xml文件中开启aop配置,然后引入bean配置,将权限管理注入到Author的bean中即可。
配置如下;
<aop:config proxy-target-class="true"/> <bean class="org.apache.shiro.spring.LifecycleBeanPostProcessor" id="lifecycleBeanPostProcessor"/> <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor" id="authorizationAttributeSourceAdvisor"> <property name="securityManager" ref="securityManager"/> </bean>
在需要角色或者权限的方法中引入@RequireRoles或者@RequirePersmisson来判断。
多个角色拦截注解配置
注解拦截器配置
控制角色权限的注解,requirePermissions可以写入多个角色权限,推荐使用