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

目录:

1. 概述编辑

1.1 版本

 FineBI服务器版本
 6.0

1.2 问题描述

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

1.3 解决思路

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

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

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

2.1.1 权限设置

例:用户 Alice 是技术支持部长,同时属于普通角色,则在这三者(技术支持部长、普通角色、用户 Alice)上设置数据表「品牌维度」的权限。

1)为Alice设置部门行权限,选择「技术支持>部长」。

设置「行业数据>零售电商>零售电商demo>品牌维度」中的「品牌描述」字段属于「新百伦」。如下图所示:

2)为 Alice 设置角色行权限,选择「普通角色」。

设置「行业数据>零售电商>零售电商demo>品牌维度」中的「品牌描述」字段属于「HANG TEN」。如下图所示:

3)为 Alice 设置用户行权限,选择「用户最终权限> Alice」。

设置「行业数据>零售电商>零售电商demo>品牌维度」中的「品牌描述」属于「十月妈咪」。如下图所示:

2.1.2 效果查看

Alice 账号登录FineBI系统,最终结果是三个行权限条件取「或」关系。如下图所示:

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

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

2.2.1 权限设置

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

注:部分设置行权限。

1)为 Alice 设置部门权限,选择「技术支持>部长」。

设置「行业数据>零售电商>零售电商demo>品牌维度」中的「品牌描述」字段属于「新百伦」。如下图所示:

2)为 Alice 设置角色权限,选择「普通角色」。

设置「行业数据>零售电商>零售电商demo>品牌维度」中的「品牌描述」字段属于「HANG TEN」。如下图所示:

3)为 Alice 设置用户权限,选择「用户最终权限> Alice」。

设置「行业数据>零售电商>零售电商demo>品牌维度」的使用权限,不设置行权限。如下图所示:

2.2.2 效果查看

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

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

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

1577781348986999.png

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

2.3.1 权限设置

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

2)用户 Alice 既是产品线 1 的测试组成员,又是产品线 1 的开发组成员。

对整个测试组分配员工信息表的权限,设置行权限为员工信息表.部门=测试组。如下图所示:

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

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

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

2.3.2 效果查看

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

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

2.4 有关联关系的表设置行权限,主表可过滤子表(跨文件夹生效)

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

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

2.4.1 权限设置

1)将「产品名称维度表」、「合同事实表」添加至文件夹 A ,将「合同回款事实表」添加至文件夹 B ,并为用户Alice设置「产品名称维度表」和「合同回款事实表」的使用权限。如下图所示:

2)管理员为用户Alice设置文件夹A中「合同事实表」的行权限,购买的产品等于「1」 。如下图所示:

2.4.2 效果查看

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

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

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

2.5.1 权限设置

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


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

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

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

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

2.5.2 效果查看

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

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

3.1 从文件夹「使用权限」切换成「管理权限」时,列权限需要重新配置

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

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

3.2.1 权限设置

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

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

2)对普通角色设置文件夹 A 中「合同事实表」的列权限,选择字段合同类型、是否已经交货、合同签约时间。如下图所示:

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

3.2.2 效果查看

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