Shiro的注解(@RequiresRoles,@RequiresPermissions)授权不起作用

本文介绍如何在 Spring MVC 的 spring-mvc.xml 配置文件中设置 Shiro 的 AOP 式方法级权限检查。主要内容包括配置 DefaultAdvisorAutoProxyCreator 和 AuthorizationAttributeSourceAdvisor 两个 Bean 来启用 Shiro 注解支持,并通过组件扫描来避免重复加载控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求将下面代码放到spring-mvc.xml配置文件中,不能放到applicationContext.xml配置文件

<!-- AOP式方法级权限检查 -->
<!-- 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证 -->
<!-- 配置以下两个bean即可实现此功能 -->
<!-- 由于本例中并未使用Shiro注解,故注释掉这两个bean(个人觉得将权限通过注解的方式硬编码在程序中,查看起来不是很方便,没必要使用) -->
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
	<property name="proxyTargetClass" value="true" />
</bean>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
	<property name="securityManager" ref="securityManager"/>
</bean>
因为在applicationContext.xml配置文件中配置不扫描conreoller

<!-- 启动组件扫描,此时要排除要controller,因为controller已经spring-mvc中加载过 -->
	<context:component-scan base-package="net.zhxm">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

转载:http://www.w2bc.com/article/251500

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值