赞
踩
简单的例子就是:
比如一张商品表goods,很多人添加数据,销售部的就可以看到这个数据,生产部的就看不到这个数据。
或者很多工厂向库存表添加数据,A工厂看A工厂的,B工厂也看自己的。
本质上说,是一种过滤的过程。我们查到了所有的商品表的信息,然后过滤出我们想要的。我们查到了所有库存表的信息,A工厂看A的,B工厂看B的。

添加角色

给角色分配部门的数据权限

这个过程,就是向sys_role_dept表添加数据的过程‘

新增用户,选择“软件工程”部门,并分配20230627的角色

向业务层加此注解 @DataScope(deptAlias = “t”, userAlias = “u”)

添加左连接和params参数,这个时候名字不要错了

这个时候,就会过滤了。过滤的原理在查出所有数据的基础上,筛选出对应部门的数据

其实本质上就是后面那句话的过滤:
t.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = 5 )
原本的sql应该是:

现在多了个条件

这就是数据权限
user_id 和 dept_id 用于过滤数据sys_role_dept 中插入数据用户向需要添加数据权限的表(比如现在的这张表t_courseware)中插入数据的时候,添加上user_id 和 dept_id,以及分配权限。t.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = 5 ) 实现数据权限。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。