shiro 注解不生效

springboot集成shiro时,使用@RequiresRoles注解不生效。
shiro @RequiresRoles底层使用springaop技术:
[email protected]修饰service层接口(接口代理)
如不生效需引入aspectj包:

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

[email protected]修饰controller层接口(类代理)
如不生效,请查看是否使用this调用了controller层方法。
因使用aop动态代理技术,因此不能直接使用this调用方法。可通过getBean获取运行时生成的动态代理对象。
搞了半天,记录下。给各位兄弟省点时间。。

原文地址:https://www.cnblogs.com/tswhq/p/11622745.html

时间: 2024-11-01 11:54:48

shiro 注解不生效的相关文章

Shiro注解不起作用! @RequiresPermissions

shiro开启注解支持,必须将 <!-- 保证实现了Shiro内部lifecycle函数的bean执行 --> <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> <!-- 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAO

shiro + struts2 在action 中使用 shiro 注解 @requiresPermissions 报错: 方法找不到,类初始失败

06:36:34,405 ERROR http-8084-2 dispatcher.Dispatcher:38 - Exception occurred during processing request: $Proxy15.user_() java.lang.NoSuchMethodException: $Proxy*.user_() at java.lang.Class.getMethod(Class.java:1605) at org.apache.struts2.interceptor.

解决Shiro注解无效的问题

当Shiro集成到Spring mvc中,却发现shiro的权限注解不起作用,官方的配置是要支持注解,只需要将以下代码加到spring 配置文件中即可: <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"> <property name=&quo

JAVA自定义注解 和 运行时靠 反射获取注解,解决 shiro 注解型权限因子获取问题

项目的权限分配,采用的是RBAC的设计模式.后台配置权限的时候,需要获取到所有的权限因子. 不经让我想起YII框架的SRBAC模块,还有以前的一个ecshop改造系统的权限配置方式,都采用的是PHP的反射机制. 于是把PHP项目的经验带到JAVA项目中,发现PHP中的经验在java中,实现起来不是那么的方便. 这主要的原因:一是语言上的特性导致权限控制方面的差异性. 二是项目使用的是SSH框架,action的名称已经使用注解替换了原有名称.使用反射获取到的类名和方法名组合,不是有效的权限因子(当

springmvc集成shiro注解权限

源代码下载:http://download.csdn.net/detail/u013147600/9066923 java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around错误解决方法:http://blog.csdn.net/u013147600/article/details/48132947 配置aop错误: org.springframework.beans.factory.xml.XmlBeanDefinit

shiro注解和标签

Controller中注解: @RequiresAuthentication @RequiresGuest @RequiresPermissions("account:create") @RequiresRoles("administrator") @RequiresUser Themleaf标签: <shiro:principal /> <shiro:principal property="username" /> &l

shiro注解权限控制-5个权限注解

RequiresAuthentication: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject必须在当前session中已经过认证 RequiresGuest: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject可以是"gust"身份,不需要经过认证或者在原先的session中存在记录. RequiresPermissions: 当前Subject需要拥有某些特定的权限时,才能执行被该注解标注的方法.如果当前Subject不具有这样的权限,则方法不会被执

springboot 项目中使用@transactional注解不生效导致事务回滚失败问题总结

在常规使用@transactional注解时,如果碰到不生效问题,要首先想到如下几个问题: 1. 如果是有关数据库操作,首先要查看牵涉到的表使用的引擎是什么引擎,要知道使用"MYISAM"数据库引擎是不支持事务回滚操作的,需要使用"InnoDB数据引擎". 2. 查看方法是否是public方法,如果方法是private方法,也是不支持事务的. 3. 如果事务回滚失败还要查看出现的异常是checked异常还是unchecked异常.checked异常会回滚,unche

解决引入 lombok 注解不生效

Eclipse -javaagent:lombok.jar -vmargs -javaagent:lombok.jar 原文地址:https://www.cnblogs.com/taopanfeng/p/11065548.html