RuiYi中Spring AOP的介绍nvliz (作业机器版)

目录

数据权限前端显示

数据权限作用及操作

修改普通用户的数据权限

​编辑

登录普通用户

前端显示效果

数据权限后端代码分析

Controller层

Service层

Mapper层

AOP 类DataScopeAspect 处理注解@DataScope


数据权限前端显示

如下图所示,进入分配数据权限页面。(更多->数据权限)

在该界面,可以为角色添加不同的数据权限,实现数据管理。

数据权限作用及操作

使用数据权限,我们可以让具有不同权限的用户看到的数据有差别,我们进行如下操作来对比说明。

用户admin 的角色为超级管理员,超级管理员设置为具有访问全部数据权限

用户ry 的角色为普通角色,普通角色设置为只有访问本部门数据权限,其所属部门为测试部门

修改普通用户的数据权限

登录普通用户

账号:ry                 密码:admin123

前端显示效果

普通用户:

admin用户:

数据权限后端代码分析

Controller层

SysUserController.java

找到关键代码,图中是对代码的分析

Service层

SysUserServiceImpl.java

找到关键代码,图中是对代码的分析

Mapper层

SysUserMapper.java

找到关键代码,图中是对代码的分析

${params.dataScope}对数据范围进行过滤。

AOP 类DataScopeAspect 处理注解@DataScope

@DataScope注解

最后是AOP 类DataScopeAspect 处理注解@DataScope 

根据当前登录用户的信息,判断是否为超级管理员,如果不是,则调用dataScopeFilter方法进行数据权限过滤。这种机制通常用于确保只有非管理员用户才会受到数据权限的约束,管理员用户可以访问所有数据。

接下来是AOP 类DataScopeAspect 对于全部权限、自定义权限、本部门及以下权限、仅本人权限最终添加的SQL 语句及作用.

此切面在目标方法执行前会拦截,检查用户的角色和数据权限配置,然后根据不同的权限类型生成相应的SQL条件。

到此介绍完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值