在web环境中,我们一般使用过滤器或者拦截器来检验当前登录人的角色以及权限信息,接下来看看shiro的拦截器
以下代码是开启shiro的权限校验拦截器
<bean class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
以下代码是在Controller层的方法上加上对应的角色或者权限的校验
@RequestMapping(value = "/testRole",method = RequestMethod.GET)
@ResponseBody
@RequiresRoles("admin,user,user2")
public String testRole(){
return "testRole success";
}
@RequestMapping(value = "/testRole1",method = RequestMethod.GET)
@ResponseBody
@RequiresPermissions("user:add")
public String testRole1(){
return "testRole1 success";
}