A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我是楠楠 于 2019-7-17 14:36 编辑

【郑州校区】 Apache Shiro 实现方法级别细粒度权限控制
细粒度(方法)权限控制原因: 自定义注解(加在方法上,在注解中描述需要权限信息),对目标业务对象创建代理对象,在代理方法中使用反射技术读取注解信息,获取需要权限,查询当前登录用户具有权限是否满足  

1、 配置 applicationContext-shiro.xml  激活注解  
传统 spring AOP 配置 , 对 spring bean 创建代理 Advisor ,会在业务 Bean 使用 shiro 注解, 配置自动代理模式 (对所有 spring 管理 bean 的方法,执行时,检查是否有 shiro 注解 )

2、 配置快递员添加 方法,业务层使用 shiro 注解  

注意问题:
针对 CourierServiceImpl 对象进行代理 !!!  解决:  
applicationContext-dataSource.xml  
applicationContext-shiro.xml  

使用方法注解进行权限控制, 当权限不足时,代理对象抛出一个异常  
org.apache.shiro.authz.UnauthorizedException: Subject does not have permission [courier_add]

传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出
更多图片 小图 大图
组图打开中,请稍候......

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马