反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

行列权限特殊场景

  • 文档创建者:Roxy
  • 历史版本:13
  • 最近更新:Tracy.Wang 于 2024-09-03
  • 1. 概述

    1.1 版本

     FineBI服务器版本
     6.0

    1.2 问题描述

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

    1.3 解决思路

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

    2. 设置数据表行权限

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

    2.1.1 权限设置

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

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

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

    903-1055.png

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

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

    903-1058.png

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

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

    903-1102.png

    2.1.2 效果查看

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

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

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

    2.2.1 权限设置

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

    注:部分设置行权限。

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

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

    903-1055.png

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

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

    903-1058.png

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

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

    2.2.2 效果查看

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

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

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

    1577781348986999.png

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

    2.3.1 权限设置

    1)添加员工信息表至「业务包B」文件夹下,如下图所示:

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

    对整个测试组分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」

    设置行权限为「员工信息表」中的「部门」字段属于「测试组。如下图所示:

    903-1122.png

    3)对测试组下的产品线 1 组分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」

    设置行权限为「员工信息表」中的「小组别」字段属于「产品线 1 。如下图所示:

    903-1128.png

    4)对整个开发组分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」

    设置行权限为「员工信息表」中的「部门」字段属于「开发组。如下图所示:

    903-1134.png

    5)对开发组下的产品线 1 分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」

    设置行权限为「员工信息表」中的「小组别」字段属于「产品线 1」 。如下图所示:

    903-1139.png

    2.3.2 效果查看

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

    注:先根据部门层级间行权限取且,不同的部门间行权限再取或。

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

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

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

    2.4.1 权限设置

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

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

    2.4.2 效果查看

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

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

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

    2.5.1 权限设置

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


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

    1)管理员为用户 Alice 设置 「产品名称维度表」的行权限,选择 数据权限 Tab 下「产品名称维度表」中的「产品ID」字段大于等于「5」 。如下图所示:

    2)管理员为用户 Alice 设置 「客户维度表」的行权限,选择 数据权限 Tab 下「客户维度表」中的「省份」字段属于「上海市」 。如下图所示:

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

    2.5.2 效果查看

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

    2.6 空即是真

    2.6.1 逻辑说明

    6.0 版本引入「空即是真」的行权限逻辑,即部门/职位/角色在配置了表权限的前提下,若没有配置行权限,则对该表的行权限为 true(可以看到该表的全部数据),并入最终的行权限取或运算中。

    注:若用户上单独配置了表的行权限,则不会将部门/职位/角色上的 true 行权限代入最终的行权限取或运算中。

    超级管理员可通过以下配置项开启/关闭「空即是真」的行权限逻辑具体操作步骤请参考:填报修改fine_conf_entity 。

    注:6.0 版本的新工程,默认使用「空即是真」的行权限逻辑。

          由 5.x 版本升级至 6.0 版本的工程,默认不使用「空即是真」的行权限逻辑。

    配置项参数值
    SystemOptimizationConfig.roleEmptyFilterAsTrueFilter

    true:使用空即是真」的行权限逻辑

    false:不使用空即是真」的行权限逻辑

    2.6.2 权限设置

    示例:用户 Alice 同时属于角色A、角色B,则在这两者(角色A、角色B)上设置数据表「品牌维度」的权限。

    结果:若角色 A 对「品牌维度」设置了行权限,角色 B 不设置行权限,则最后用户可以看到「品牌维度」所有的数据。

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

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


    2.6.3 效果查看

    Alice 登录 FineBI 系统查看「品牌维度」表,可以看到所有的数据,即最终的行权限为「HANG TEN」与「true」取并集。如下图所示:

    3. 设置数据表列权限

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

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

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

    3.2.1 权限设置

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

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

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

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

    3.2.2 效果查看

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

    附件列表


    主题: 管理系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持