文章目录
- 前言
- 一、常见的数据权限
- 二、通用数据权限设计思路
-
* [通用权限示例(灵活配置最简单方式)](about:blank#_30)-
* [两个表](about:blank#_31)
-
- 总结
前言
权限一般分为操作权限和数据权限
操作权限: 菜单,页面,按钮
数据权限: 能看到的数据,包括各种页面的数据范围
一、常见的数据权限
例如:
- 多租户,每个租户只能看到各自租户内部的数据
一般通过字段级别过滤,mybatis/mybatis-plus通常通过拦截器自动凭拼接或 手动拼接;
- 单独配置某个特定的数据权限: 例如之前的项目,单独分配区域权限,这样每个人可以灵活看到区域数据,达到数据权限的配置;
一般是特定的数据权限,类似于用户级别的属性一样,每次查询用户 单独查询,类似于菜单权限数据一样; 这里推荐将此类数据权限放在 角色 上
本文讲解,通用数据权限: 即类似于多租户的感觉,适用于所有表的过滤
与多租户不同的是,多租户的数据权限字段是固定的,不灵活,这里根据当前项目,分享两种灵活思路!
二、通用数据权限设计思路
-
通过类似枚举定义,在每个角色中,增加一个属性为数据范围, 分为各个等级; 其中等级的限制条件可以是各种维度的一种: 机构,区域,组织,然后类似于通过等级的不同,生成sql
本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。