历史版本3 :行列权限特殊场景 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

管理员可以通过设置行列权限来实现不同用户查看不同的数据,但若同时对部门、角色、用户都设置了行列权限,或者使用了关联关系等,出现复杂的设置,可能会达不到预期结果。

1.2 解决思路

本文来说明行列权限的一些特殊场景。

2. 设置数据表行权限编辑

2.1 部门、角色、用户同时设置行权限后取「或」关系

2.1.1 权限设置

例:用户 Alice 既是开发部部长,又是技术支持部长,同时属于普通角色,则在这四者(开发部部长、技术支持部长、普通角色、用户 Alice )上设置数据表的权限。

1)为 Alice 设置部门行权限,开发部部长设置零售行业>品牌维度表中的「品牌描述」字段属于「ZIPPO(之宝)」,如下图所示:

389.png

2)技术支持部长设置零售行业>品牌维度表中的「品牌描述」字段属于「新百伦」。如下图所示:

90.png

3)为 Alice 设置角色行权限,普通角色设置零售行业>品牌维度表中的「品牌描述」字段属于「HANG TEN」。如下图所示:

10.png

4)为 Alice 设置用户行权限,用户 Alice 设置零售行业>品牌维度表中的「品牌描述」属于「十月妈咪」。如下图所示:

27.png

2.1.2 效果查看

Alice 账号登录数据决策系统,最终结果是四个行权限条件取「或」关系,如下图所示:

49.png

注:若为用户单独设置过使用/管理/授权权限,在设置权限后会出现黄色的人像标志。此时若需要恢复对部门/角色权限的继承,需要点击恢复继承权限按钮。弹出提示框「确定清除该用户关于业务包权限的单独权限设置,恢复对部门/角色权限的继承」,点击确定即可。如下图所示:

1577782359465996.png

1578462935806930.png

2.2 部门、角色、用户部分设置行权限后对配置的行权限取「或」

2.2.1 权限设置

例:用户 Alice 既是开发部部长,又是普通角色,则在这三者(开发部部长、普通角色、用户 Alice )上设置数据表的行权限。

注:部分设置行权限。

1)为 Alice 设置部门权限,开发部部长设置零售行业>品牌维度表中的「品牌描述」字段属于「ZIPPO(之宝)」,如下图所示:

389.png

2)为 Alice 设置角色权限,普通角色设置零售行业>品牌维度表中的「品牌描述」字段属于「HANG TEN」。如下图所示:

image.png

3)为 Alice 设置用户权限,用户 Alice 设置「品牌维度」使用权限,不设置行权限。如下图所示:

image.png

注:抽取数据实时数据选择在 2020-09-01后的版本中才有。

2.2.2 效果展示

最终结果是配置的行权限取「或」关系,未配置行权限的角色和用户不算在或关系中,如下图所示:

image.png

2.3 部门层级的行权限先取「且」,不同部门间行权限再取「或」

例:公司部门层级关系为测试组 - 产品线1、产品线2,开发组 - 产品线1、产品线2 , 如下图所示:

1577781348986999.png

示例数据:员工信息表.xlsx

2.3.1 权限设置

1)添加员工信息表如下图所示:

01.png

2)用户 Alice 既是 产品线 1 的测试组成员,又是产品线 1 的开发组成员,对整个测试组分配业务包 B 权限,设置行权限为员工信息表.部门=测试组,如下图所示:

1577781617271260.png

3)对测试组下的产品线 1 组分配业务包 B 的权限,添加行权限为员工信息表.小组别=产品线 1 ,如下图所示:

1577781914394645.png

4)对整个开发组分配业务包 B 权限,添加行权限为员工信息表.部门=研发组,如下图所示:

1577782005515456.png

5)对开发组下的产品线 1 分配业务包 B 权限,添加行权限为员工信息表.小组别=产品线 1 ,如下图所示:

1577782068629429.png

2.3.2 效果查看

Alice 登录查看「员工信息表」,Alice 可以看到产品线 1 测试组和产品线 1 开发组的数据,如下图所示:

05.png

(先根据部门层级间权限取且,不同的部门间再取或)

2.4 有关联关系的表设置行权限,主表可过滤子表(跨业务包生效)

例:现有三张表:「产品名称维度表」、「合同事实表」、「合同回款事实表」,关联关系如下图所示:

注:「产品名称维度表」是「合同事实表」的主表,「合同事实表」是「合同回款事实表」的主表。

1577777277232011.png

2)将「产品名称维度表」、「合同事实表」添加至业务包 A ,将「合同回款事实表」添加至业务包 B ,并为「产品名称维度表」和「合同回款事实表」设置使用权限,如下图所示:

image.png

3)管理员对业务包 A 设置「合同事实表」行权限,购买的产品等于「1」 ,如下图所示:

47.png

2.4.2 效果查看

1)普通用户 Alice 登录查看,「合同事实表」的主表「产品名称维度表」可以看到所有的数据,不会收到行权限的影响,如下图所示:

image.png

2)「合同事实表」以及作为「合同事实表」的子表「合同回款事实表」只能看到购买的产品等于 1 的数据,受到了主表的行权限影响,如下图所示:

401.png

2.5 多重主表设置行权限取「且」关系 

2.5.1 权限设置

例:现有三张表:「产品名称维度表」、「合同事实表」、「客户维度表」,关联关系如下图所示:

注:「产品名称维度表」和「客户维度表」都是「合同事实表」的主表。

1577778283167655.png

1)对「产品名称维度表」设置行权限产品 ID 大于等于 5 ,如下图所示:

image.png

2)对「客户维度表」设置行权限,省份属于上海市,如下图所示:

image.png

3)对「合同事实表」设置使用权限,不设置行权限,如下图所示:

image.png

2.5.2 效果查看

Alice 登录查看「合同事实表」,「合同事实表」只能看到产品 ID 大于等于 5 并且客户省份为上海市对应的客户 ID 下的相关数据。 如下图所示:

1577779431517707.png

3. 设置数据表列权限编辑

3.1 从业务包「使用权限」切换成「管理权限」时,列权限需要重新配置

例如:在只开启业务包使用权限的情况下对行权限、列权限进行设置,此时再开启该业务包的管理权限,之前设置的行权限依然是生效的,而列权限则需要重新配置。

3.2 部门、角色之间的列权限设置取或关系 列权限用户最大原则

3.2.1 权限设置

例:用户 Alice 既属于技术支持 ,又属于普通角色。

1)对技术支持部门设置业务包 A 中「合同事实表」的列权限,选择字段合同金额、合同付款类型、合同类型,如下图所示:

image.png

2)对普通角色设置业务包 A 中「合同事实表」的列权限,选择字段合同类型、是否已经交货

合同签约时间,如下图所示:

image.png

3)此时再对用户维度设置列权限,选择「合同事实表」的「购买的产品」字段,如下图所示:

image.png

3.2.2 效果查看

查看用户 Alice 的「合同事实表」的界面,只显示「购买的产品」字段,则该用户的列权限完全取决于对该用户的设置,对部门角色的设置不再影响该用户,如下图所示:

image.png