SQL 查询权限表名设置
SQL 查询权限表名设置,主要针对数据权限定义时,需要过滤的业务表对应查询的数据权限不失效。
1. 功能介绍
数据权限定义时,选择需要过滤的业务表可以设置表或者查询。
若需要过滤的业务表为A,业务窗体是通过sql查询返回数据到实体上,且 sql 查询定义别名A1(别名编码和表编码不一致),此时会因为别名而导数据致权限失效。
如果需要权限生效,则需要进行 SQL 查询权限表名设置,勾选上 “别名不匹配再找表名” 。
访问目录:配置中心 → 业务系统初始化配置 → 权限设置 → 基础设置 → SQL 查询权限表名设置
过滤的业务表类型 | 加载数据类型(例如:窗体加载数据) | SQL 查询权限表名设置 |
---|---|---|
表 | 表 | 数据权限定义后直接生效,无需设置 |
表 | 对应表的查询(不定义别名、定义别名编码和表编码一致) | 数据权限定义后直接生效,无需设置 |
表 | 对应表的查询(定义别名编码和表编码不一致) | 数据权限定义后,设置才生效 |
查询 | 查询(不定义别名) | 数据权限定义后不生效,不管是否设置 |
查询 | 查询(定义别名编码和关联查询编码一致) | 数据权限定义后直接生效,无需设置 |
查询 | 查询(定义别名编码和关联查询编码不一致) | 数据权限定义后,设置才生效 |
2. 应用场景
下面以过滤的业务表类型为表,加载数据类型为查询(定义别名和表编码不一致)为例。
- 1.查询定义
- 2.获取数据
- 3.数据权限定义
- 4.SQL查询权限表设置
- 5.预览效果
在窗体加载数据中,配置【从数据库获取数据到实体】规则的数据来源类型为查询。
在数据权限定义中,设置需要过滤的业务表为表类型。
在数据权限定义时,选择需要过滤的业务表设置表。
由于在窗体加载事件中,获取数据来源为查询,并且 sql 查询定义别名和表编码不一致。
因此需要勾选上 “别名不匹配再找表名”,否则会因为别名而导数据致权限失效。
在本案例中,定义数据权限后,暂不授权。
一般用户登录服务访问数据,如下:
(1)SQL查询权限表设置前
(2)SQL查询权限表设置后