数据权限
百度已收录

数据权限,是通过数据权限控制行数据展示,让不同的人看不同的数据;
比如: 用户只能看自己的数据;部门经理可以看部门内所有人员的数据;财务专员只看金额大于5000的数据等等;

云程平台提供了可视化配置功能,通过前端组件名匹配数据权限,进而实现对数据记录的过滤。

示例:以用户管理列表为例, 实现只查询性别是男的用户

1、简单数据权限配置

 

第一步、给菜单配置组件名称

注意:前端组件名称要与@PermissionData(pageComponent = “system/UserList”)注解中的pageComponent值对应,平台内部通过该关系进行对应。

 

第二步、给JAVA方法加注解

 

第三步、给菜单配置数据权限

找到需要配置权限的页面菜单,这里是用户管理菜单,直接在该菜单上配置数据规则

数据权限规则配置(只看性别为男的用户)

规则字段配置说明:

(1)规则名称:写有业务含义的描述

(2)规则字段:使用实体字段名

(3)条件规则:大于/大于等于/小于/小于等于/等于/包含/模糊/不等于/自定义SQL

(4)规则值:指定值 ( 固定值/系统上下文变量 )

      日期默认值格式:2021-04-10 

      时间默认值格式:2021-04-10 12:00:00

数据权限配置,规则值可以填写系统上下文变量(当前登录人信息),从而根据当前登录人信息进行权限控制。

系统上下文变量:配置写法:#{sys_user_code}

(1)sys_user_code, 当前登录用户登录账号
(2)sys_user_name, 当前登录用户真实名称
(3)sys_date, 当前系统日期
(4)sys_time, 当前系统时间
(5)sys_org_code, 当前登录用户部门编号
(6)sys_multi_org_code, 当前登录用户拥有的所有机构编码,逗号分隔

注意:数据权限控制跟数据库表字段有关系,业务模块开发必须严格遵守云程平台的建表规范,必须有:create_by(创建人)、create_time(创建时间)、update_by(修改人)、update_time(修改时间)、sys_org_code(所属部门)这几个字段。

 

第四步、给角色授权

 

第五步、测试权限

访问用户管理界面发现数据被过滤了,只看到男的数据,说明权限生效了。

 

2、复杂数据权限配置

 

示例:以用户管理列表为例, 查询“性别是男,电话号码138开头,数据为当前登录用户所创建“的用户数据。这是一个3个条件的AND查询。

当规则条件为自定义sql的时候,规则字段不必选择,而是需要自定义一个sql片段,其它配置步骤同简单数据权限配置一样。

 

 

给菜单配置数据权限,增加一项数据权限规则

phone like ‘138%’ and  create_by=’#{sys_user_code}’  ,其中#{sys_user_code}是个动态值,指当前登录用户登录账号。

给角色授权,选择多个数据权限规则

测试权限