数据权限用法篇
最后更新于:2022-04-02 07:16:05
# 数据权限用法(优先方式B)
## 权限介绍
> 数据权限,是通过数据权限控制行数据展示,让不同的人看不同的数据;
> 比如: 销售人员只能看自己的数据;销售经理可以看所有下级销售人员的数据;财务只看金额大于5000的数据等等;
>[info] 示例
> 以用户管理列表为例, 实现只查询用户账号带1的用户
> 数据权限用法分两种, A方式(通过请求URL匹配数据权限)和 B方式(通过前端组件名匹配数据权限),推荐用B方式
## 方式B(通过前端组件名)——官方推荐
基于注解`@PermissionData(pageComponent="system/UserList")`实现具体步骤如下:
### 1. 配置页面菜单
![输入图片说明](https://static.oschina.net/uploads/img/201904/12115326_syKM.png "在这里输入图片标题")
### 2. 给JAVA方法加注解
给请求方法添加注解 `@PermissionData(pageComponent="system/UserList")` 参数pageComponent值与菜单的前端组件值保持一致
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/43/d5/43d5ba1b9f5bf4dad3e6dbf952a42e2e_830x269.png)
### 3. 给菜单配置数据权限
找到需要配置权限的页面菜单,这里是用户管理菜单,直接在该菜单上配置数据规则。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/7d/a2/7da2b3fcc3e1da708774055f238ecc8a_1315x259.png)
数据权限配置(只看性别为男的用户)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/97/9b/979b828cc9d663db92ac92d88103090a_1001x478.png)
#### 规则字段配置说明
规则字段说明
` 这里对应的是实体的字段名,一般是驼峰写法`,比如:创建人配置的是`createBy`,而不是`create_by`
**特别注意**
**当使用`自定义SQL`时,仍然需要使用数据库字段名称`create_by`** 参考文档:[http://doc.jeecg.com/2044049](http://doc.jeecg.com/2044049)
>[info] 规则字段配置详细说明(非常重要)
> ①规则字段:使用实体字段名 (如果是online需要配置数据库字段名)
> ②规则值:指定值 ( 固定值/系统上下文变量 )
> ③条件规则:大于/大于等于/小于/小于等于/等于/包含/模糊/不等于/自定义SQL
### 4.角色授权
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/95/07/95076f5693b0050ee009ff43579fa96a_1585x639.png)
### 5.测试权限
退出重新登录,访问用户管理界面发现数据被过滤了,只看到男的数据,说明权限生效!
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d4/75/d47595dee2264490140bcf07b3073df1_1599x479.png)
如果想根据登录人、登录人的部门进行数据隔离,参考 [数据权限用法篇](数据权限规则篇.md)
### 6.其他配置方式
需要通过URL方式配置数据权限,[见此链接](http://doc.jeecg.com/2080510)
';