DataScopeAspect

目录

前言

1、什么是DataScopeAspect?

2、数据权限展示

3、代码分析

1.Controller层

2、Service层

3.Mapper层


前言

在现代企业管理系统中,数据权限控制是一个非常重要的功能。以 ruoyi 框架为例,数据权限通过 DataScopeAspect 切面类实现了统一的权限控制逻辑。本文将结合 ruoyi 框架,详细解析 DataScopeAspect 类如何对 全部权限、自定义权限、本部门及以下权限、仅本人权限 进行处理,并输出对应的 SQL 语句及其作用。

1、什么是DataScopeAspect?

DataScopeAspectruoyi 框架中基于 AOP(面向切面编程)实现的数据权限控制类。其核心功能是:

  1. 动态拼接 SQL 条件:根据当前用户的权限范围,在执行查询语句时附加数据权限过滤条件。
  2. 统一处理权限逻辑:通过拦截方法,自动为查询语句附加权限条件,无需在每个业务方法中重复编写权限判断代码。
  3. 保证数据安全性:防止用户越权访问系统中不属于其权限范围的数据。

2、数据权限展示

 我们先进入ruoyi界面然后按照上图顺序点击更多再点击权限管理进入数据管理界面 

点击修改可以进入权限管理界面

 菜单权限可以管理用户可看到界面。

3、代码分析

1.Controller层

我们按照ruoyi-admin\src\main\java\com.ruoyi\web\controller\system\SysUserControllrer.java路径进入该文件。上图红框中的代码为相关代码。

2、Service层

 我们按照ruoyi-system\src\main\java\con.ruoyi.system\service\impl\SysUserServiceimpl.java路径打开该文件,图中的红框代码是调用DataScope注释。

3.Mapper层

  我们按照ruoyi-system\src\main\java\con.ruoyi.system\mapper\SysUserMapper路径打开该文件,红框内为相关代码。

然后我们去SysUser的xml文件,我们会发现${params.Scope}这个是起过滤作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值