springboot集成shiro——使用RequiresPermissions注解无效

在Springboot环境中继承Shiro时,使用注解@RequiresPermissions时无效

1 @RequestMapping("add")
2 @RequiresPermissions("user:add")
3 public String add() {
4     return "user_add";
5 }

解决方法:

在shiroConfig配置类中增加如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
     *  开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证
     * 配置以下两个bean(DefaultAdvisorAutoProxyCreator和AuthorizationAttributeSourceAdvisor)即可实现此功能
     * @return
     */
    @Bean
    public  DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator(){
        DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator =  new  DefaultAdvisorAutoProxyCreator();
        advisorAutoProxyCreator.setProxyTargetClass( true );
        return  advisorAutoProxyCreator;
    }
 
    /**
     * 开启aop注解支持
     * @param securityManager
     * @return
     */
    @Bean
    public  AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor =  new  AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return  authorizationAttributeSourceAdvisor;
    }

猜你喜欢

转载自www.cnblogs.com/matd/p/11113963.html