颓废的悠然
 

springboot shiro开启注释

shiroconfiguration中增加

1
2
3
4
5
6
7
@Bean
    public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor
            new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
    }

在controller中的方法前加上注解

1
@RequiresPermissions("userInfo:test")

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

解决方法一

shiroconfiguration中增加

1
2
3
4
5
6
7
@Bean
    @ConditionalOnMissingBean
    public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
        DefaultAdvisorAutoProxyCreator defaultAAP = new DefaultAdvisorAutoProxyCreator();
        defaultAAP.setProxyTargetClass(true);
        return defaultAAP;
    }

解决方法二

pom.xml中加入

1
2
3
4
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

同时application.properties中补充

1
spring.aop.proxy-target-class=true

shiroconfiguration中增加

1
2
3
4
5
6
7
@Bean
    public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor
            new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
    }

在controller中的方法前加上注解

1
@RequiresPermissions("userInfo:test")

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

解决方法一

shiroconfiguration中增加

1
2
3
4
5
6
7
@Bean
    @ConditionalOnMissingBean
    public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
        DefaultAdvisorAutoProxyCreator defaultAAP = new DefaultAdvisorAutoProxyCreator();
        defaultAAP.setProxyTargetClass(true);
        return defaultAAP;
    }

解决方法二

pom.xml中加入

1
2
3
4
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

同时application.properties中补充

1
spring.aop.proxy-target-class=true

相关文章:

  • 2021-11-06
  • 2022-02-13
  • 2021-09-17
  • 2022-12-23
  • 2021-10-09
  • 2022-01-09
猜你喜欢
  • 2021-08-02
  • 2021-03-31
  • 2021-11-22
  • 2022-02-18
  • 2021-07-26
相关资源
相似解决方案