springboot shiro没有注解解决方案

Posted 一个学者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot shiro没有注解解决方案相关的知识,希望对你有一定的参考价值。

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

以上是关于springboot shiro没有注解解决方案的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot+Shiro引起事务失效错误原因解决方法

SpringBoot整合Shiro 涉及跨域和@Cacheable缓存/@Transactional事务注解失效问题

在springboot中开启shiro注解支持

前后端分离项目中 springboot 集成 shiro 实现权限控制

springboot+springcache+shiro+Redis整合时@Cacheable@Transactional等注解失效的问题

springboot整合shiro框架详解