springboot shiro开启注释

shiroconfiguration中增加

@Bean
    public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor
            = new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
    }

在controller中的方法前加上注解

@RequiresPermissions("userInfo:test")

若还没生效,应该是aop没起作用,

解决方法一

shiroconfiguration中增加

@Bean
    @ConditionalOnMissingBean
    public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
        DefaultAdvisorAutoProxyCreator defaultAAP = new DefaultAdvisorAutoProxyCreator();
        defaultAAP.setProxyTargetClass(true);
        return defaultAAP;
    }

解决方法二

pom.xml中加入

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

同时application.properties中补充

spring.aop.proxy-target-class=true

  

 

posted on 2017-10-19 22:55  颓废的悠然  阅读(11393)  评论(0编辑  收藏  举报

导航