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

目录:

1. 概述编辑

1.1 问题描述

有时用户需要根据不同的层级机构来查看对应的数据。

例如银行机构有层级关系:总行、分行、支行,实现效果为总行可以看到所有的数据,分行看到所在分行数据和分行所辖支行所有数据,支行只看自己的数据。

1.2 实现思路

需要根据所在机构配置用户的数据权限,让对应的用户查看自己机构下的数据。

2. 示例编辑

2.1 操作步骤

2.1.1 数据准备

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

222

  • 对应机构职员的「用户权限表」,包含了用户账号、密码、所属机构码及职务,如下图所示:

222

注:该用户表需要注意,一个用户账号只能属于一个机构,不能同时属于好几个机构。  

  • 对应机构人员能看到的交易数据即「业务流水表」中,如下图所示:

222

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

2.1.2 创建自循环列

1)进入数据准备>业务包,添加需要的带有层级关系的「机构表」、「用户权限表」和「业务流水表」,配置关联关系并更新数据表,添加关联关系操作可参考 添加表间关联 ,如下图所示:

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

54.png

2)选择「机构表」点击编辑,创建自循环列,配置机构表的层级关系。如下图所示:

9.png

3)选择根据两列数据分层显示值选择机构机构名称,分层依据 ID 为机构,ParentID 列为上级机构。如下图所示:

58.png

4)点击构建关系预览,可看到如下的分层和预览。如下图所示:

24.png

5)点击右上角的确定保存该自循环列操作。

2.1 3 导入用户

1)服务器数据集导入用户,这里使用的是「用户权限表」。FineReport 设计器与 FneBI 远程连接使用 服务器数据集 ,建立「用户表」(对于上述给出的 Excel 文件可使用 文件数据集 方式创建),如下图所示:

注:若使用文件数据集,Excel 文件需要放置在%FineBI%\webapps\webroot\WEB-INF\reportlets目录下。

1585713652446009.png

2)在数据决策系统中,选择管理系统>用户管理>所有用户,点击导入用户,如下图所示:

84.png

3)选择添加的服务器数据集「用户表」,并设置对应的用户名、密码、部门职务等,如下图所示:

1585722088492650.png

4)点击确定导入用户。选择管理系统>用户管理>平台使用用户,将这些导入的用户全部添加为PC端使用用户,如需用户有编辑和查看的权限,可参考:BI设计用户BI查看用户 设置为对应的用户,示例将所有新导入用户添加进 BI 数据分析用户,如下图所示:

19.png  

2.1.4 权限配置

1)进入管理系统>权限管理>业务包权限,点击登录用户所在字段处的请选择,选择「用户权限表」里的账号字段,即对应用户登录系统的用户名,如下图所示:

82.png

2)若要实现的是总行可以看到所有的数据,分行看到所在分行和管辖支行的数据,支行看到自己的数据,因此需要根据所在机构配置用户数据权限。为支行长分行长分配之前添加的业务包的使用权限,并点击权限设置按钮,如下图所示:

31.png

3)添加过滤条件,选择「机构表」中的机构字段,使它属于(登录者信息)的「用户权限表」下机构字段,点击确定保存设置,如下图所示:

1585723712541213.png

对分行长也做同样的权限设置。

4)此时实现的是职务为分行长支行长的账号查看所属机构的所有数据。而柜员需要只看自己的数据,因此为柜员单独配置权限。为柜员分配之前添加的业务包的使用权限,并点击权限设置按钮,如下图所示:

90.png

5)添加对柜员的过滤设置为业务流水表.柜员号属于(登录者信息)的用户权限表.账号,点击确定,即可在登录查看数据时过滤出柜员号,如下图所示:

1585724051472884.png

2.2 效果查看

1)使用业务包中的「机构表」和「业务流水表」在我的自助数据集中创建自助数据集并开启权限继承,如下图所示:

10.png

注:由于示例使用的是超级管理员账号,超级管理员默认为数据处理用户,在普通业务包下创建的自助数据集无法继承基础表权限,因此需要在我的自助数据集下创建,若使用的是数据分析用户来创建自助数据集则直接在普通业务包下创建并勾选 权限继承 即可。

2)使用自助数据集的数据创建业务流水仪表板,如下图所示:

391.png

3)挂出仪表板并在管理系统>权限管理>目录管理中将该仪表板的查看权限分配给分行长、支行长及柜员。如下图所示:

105.png

支行长和柜员同理设置。

4)分别使用支行长、分行长、柜员账号登录,查看创建的仪表板。

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

1585725424498946.png

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

1585725523637981.png

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

1585725813641855.png