历史版本28 :多层级权限分配 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI服务器版本功能变更
6.0-

1.2 预期场景

当公司机构存在树状的层级关系,每个层级想要分配不同的权限。

比如总行、分行、支行之间存在树状关系,需要根据不同机构为所属用户分配不同权限.

实现效果为总行可以看到所有的数据,分行看到所在分行数据和分行所辖支行所有数据,支行只看自己的数据。

222


1.3 实现思路

FineBI 多层级/树权限的实现步骤为「构建自循环列 > 服务器数据集导入用户(或者用户同步数据集) > 匹配用户登录所在字段 > 根据机构分配权限 > 根据用户分配权限」。

注:实时数据不支持「自循环列」设置,用户可用自循环SQL分配权限,详情请参见:使用fine_username参数分配权限

序号操作步骤
说明
1构建自循环列原始的机构数据在添加到 BI 中以后,通常是不存在树状结构的。通过构建自循环列可以形成树状的机构关系,方便后续根据层级分配权限
2导入用户通过服务器数据集导入数据,或者使用用户同步数据集直接同步数据库中保存的用户表
3匹配用户登录所在字段将用户登录的账号与系统中保存的用户登录权限表账号进行匹配。此步骤是为了在用户登录系统时,根据用户登录的账号,来匹配用户所在机构
4根据机构分配权限根据不同层级的机构分配不同权限,从而在用户登录时根据机构匹配权限
5根据用户分配权限若存在某些用户仅能查看自己相关的数据时,可单独为这些用户分配匹配账号的权限,这样用户登录时仅能看到自己的相关数据

2. 准备示例数据编辑

点击下载示例数据并解压:样式数据.zip

  • 机构表:包含了银行总行、分行、支行,及对应的「机构码」和「上级机构码」,如下图所示:

  • 用户权限表:包含了银行职员的用户账号、密码、所属机构码、部门及职务,如下图所示:

  • 业务流水表:包含了对应职员能看到的交易数据,如下图所示:

3. 数据准备编辑

3.1 新建 Excel 数据集

管理员登录FineBI系统,点击「公共数据」,添加文件夹「示例数据」。如下图所示:

选中文件夹,添加「Excel数据集」,将上文准备的三张数据表依次导入。

注:导入数据时,机构、上级机构、机构号等字段需要选择为文本字段,否则在下面的自循环列设置中无法选择机构为显示值。

1)在文件夹中添加 Excel 数据集「机构表」,请手动修改「机构」和「上级机构」字段格式为「文本」,如下图所示:

2)在文件夹中添加 Excel 数据集「业务流水表」,请手动修改「地区号」、「机构号」和「柜员号」字段格式为「文本」,如下图所示:

3)在文件夹中添加 Excel 数据集「用户权限表」,请手动修改「账号」和「机构」字段格式为「文本」,如下图所示:

3.2 添加表间关联

点击「公共数据」,选择「示例数据>机构表」,点击「关联视图」,为「机构表」、「用户权限表」和「业务流水表」配置关联关系并更新数据表。如下图所示:

注1:添加关联关系的具体操作请参见:添加表间关联 。

注2:导入数据时机构、上级机构、机构号等字段需要选择为文本字段,否则在下面的自循环列设置中无法选择机构为显示值。

注3:文件夹更新时,不会更新 Excel 数据集关联,可使用全局更新。 

3.3 创建自循环列

点击「公共数据」,选择「示例数据>机构表」,点击「编辑」,全选字段,创建「自循环列」,配置机构表的层级关系。如下图所示:

自循环列类型选择「根据两列数据分层」,分层结果显示值选择「机构」和「机构名称」,分层依据 ID 列选择「机构」,Parent ID列选择「上级机构」。

点击「构建关系」和「预览」,可看到如下的分层和数据预览。点击右上角的「保存」即可保存该自循环列操作。如下图所示:

4. 设计仪表板编辑

4.1 新建分析主题

管理员登录FineBI系统,点击「我的分析>新建分析主题」,新建一个分析主题「业务流水」,点击「编辑」按钮。如下图所示:

4.2 添加数据

在「数据」下,点击「添加」按钮,批量选择「公共数据>示例数据」下的业务流水表和机构表,点击「确定」,如下图所示:

选中「业务流水表」,点击「左右合并」,选择「机构表」中的字段,如下图所示:

设置合并方式为「左合并」,合并依据为当前表的「机构号」和机构表的「机构」字段。

点击「退出并预览>保存并更新」,如下图所示:

4.3 添加组件

新增组件「业务流水每日明细」,组件数据为上一节选择添加的数据表「业务流水表」,组件设计如下图所示:

4.4 制作仪表板

使用上一节的组件创建「业务流水仪表板」,如下图所示:

4.5 目录发布仪表板

点击「管理系统>目录管理」,将「业务流水仪表板」挂载到目录列表中。如下图所示:

5. 用户管理编辑

用户的添加方式支持:手动添加、导入用户、同步用户。

本章以「导入用户」为例,确保导入的用户名和上文准备的数据表中的用户名一致即可。

5.1 新建服务器数据集

管理员登录FineBI系统,点击「管理系统>数据连接>服务器数据集」,创建 Excel 文件数据集,如下图所示:

数据集名称为「用户表」,文件类型为「Excel」,文件选择第二章准备的「用户权限表」,点击「保存」。如下图所示:

最终创建的服务器数据集如下图所示:


5.2 导入用户

管理员登录FineBI系统,点击「管理系统>用户管理>所有用户」,点击「导入用户」。

选择添加的服务器数据集「用户表」,并设置对应的「账号、密码、部门、职务」等,点击「确定」。如下图所示:

5.3 设置用户类型

若「平台使用用户」中「PC端使用用户」及其子分类均为「不限人数」,则无需执行本节操作。

若「平台使用用户」中「PC端使用用户」及其子分类限制了人数,则必须执行本节操作,否则无法查看仪表板。

管理员登录FineBI系统,点击「管理系统>用户管理>平台使用用户」,将这些导入的用户添加至「BI使用用户(查看用户或设计用户)」中,如下图所示:

6. 权限配置编辑

注:本章节以部门为权限载体,进行权限配置。管理员也可以根据角色或者用户进行权限设置。若总部的人员不希望被控制权限,可以给总部设置一个角色进行单独控制。

6.1 分配目录查看权限

管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」和「业务部」。

点击「目录权限」,分别为这两个部门分配目录「业务流水仪表板」的「查看」权限。如下图所示:

6.2 设置登录用户所在字段

管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择权限载体为「所有部门」。

点击「数据权限」,点击登录用户所在字段(抽取数据)处的「请选择」,选择「示例数据>用户权限表」里的「账号」字段,即对应用户登录系统的用户名。如下图所示:

6.3 根据机构分配管理部数据权限

管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」。

点击「数据权限」,为管理部分配「业务流水仪表板」用到的「业务流水表」和「机构表」的「组件数据」权限。如下图所示:

此时管理部的所有人可以看到所有数据。若要实现的是总行可以看到所有的数据,分行看到所在分行和管辖支行的数据,支行看到自己的数据,需要根据所在机构配置用户数据权限。

选择「机构表」后的「权限设置」按钮,添加行权限条件,使得「机构表.机构」字段「属于(登录者信息)」的「用户权限表.机构」字段,点击「确定」,如下图所示:

6.4 根据用户分配业务部数据权限

管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「业务部」。

点击「数据权限」,为业务部分配「业务流水仪表板」用到的「业务流水表」和「机构表」的「组件数据」权限。如下图所示:

此时业务部的所有人可以看到所有数据。若要实现柜员只看自己的数据,需要根据柜员账号配置用户数据权限。

选择「业务流水表」后的「权限设置」按钮,添加行权限条件,使得「业务流水表.柜员号」字段「属于(登录者信息)」的「用户权限表.账号」字段,点击「确定」,如下图所示:

7. 效果查看编辑

分别使用支行长、分行长、柜员账号登录数据决策系统,查看「业务员流水仪表板」。

1)分行长(账号99,密码123)显示为所有地区号为 22 (即南昌分行),查看仪表板显示包括下属地区的数据,如下图所示:

2)支行长(账号101,密码123)显示为所有机构号为 22701(即 A 支行)的数据,如下图所示:

3)柜员(账号6159,密码123)显示仅为本柜员号 6159 的数据,如下图所示: