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

目录:

1、描述编辑

需求场景描述:

银行机构有层级关系:总行、分行、支行,实现效果为总行可以看到所有的数据,分行看到所在分行数据和分行所辖支行所有数据,支行只看自己的数据。这时我们需要根据所在机构配置用户的数据权限,下面将介绍具体实现步骤。

2、所需数据编辑

因为我们需要根据所在机构配置用户的数据权限,所以需要有包含所有银行机构数据的机构表,如下图,该机构表包含了总行、分行、支行,及他们对应的机构码和上级机构码。

222

除了机构表,还需要有对应机构职员的用户表,如下图,包含了用户账号、密码、所属机构码及职务。

222

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

而对应机构人员能看到的交易数据包含在银行交易表中,如下图:

222

以上数据可在此处下载:样式数据

3、多层级权限需求实现步骤编辑

3.1 数据准备

1、导入需要的带有层级关系的机构表、用户登录权限表和业务流水表(上述表),配置它们之间的关联关系如下图所示,添加关联关系操作可参考添加表间关联

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

222

222

2、对机构表进行编辑,创建自循环列,配置机构表的层级关系。

如下图,在数据表编辑界面选择+>自循环列

222

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

222

点击构建关系,可看到如下的分层和数据预览。

222

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

3.2 导入用户

服务器数据集导入用户,这里使用的是用户登录权限表。

参考服务器数据集,在FineReport设计器中建立服务器数据集,建立一个服务器数据集的用户表-user(对于上述给出的Excel文件可使用文件数据集方式创建),如下图:

222

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

222

选择刚刚添加的服务器数据集user,及对应的用户名、密码、部门职务等,如下图:

222

点击确定导入用户。需要去管理系统>用户管理>平台使用用户中,将这些导入的用户全部添加为平台使用用户,如需用户有编辑和查看的权限,可去BI设计用户BI查看用户下配置,参考BI设计用户BI查看用户BI中有内置用户,不需要可以清空里面的用户。

222

注:若lic文件为无限制用户的权限则不需要添加为平台使用用户此步骤,默认所有用户均有权限。  

3.3 权限配置

1、进入管理系统>权限管理>业务包权限,点击登录用户所在字段处的请选择,如下图:

222

选择用户登录权限表里的账号字段(对应的就是用户登录系统的用户名),如下图:

222

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

为支行长与分行长分配之前添加的业务包的使用权限,并点击权限设置按钮,如下图:

222

添加过滤条件,选择之前配置过自循环的机构表中的机构字段,使它满足属于(登录者信息)的机构,点击确定保存设置。

222

此时实现的是职务为分行长与支行长的账号查看所属机构的所有数据。而柜员需要只看自己的数据,因此为柜员单独配置权限。

3、为柜员分配之前添加的业务包的使用权限,并点击权限设置按钮,如下图:

222

添加对柜员的过滤设置为业务流水表.柜员号属于(登录者信息)的账号条件,即可在登录查看数据时过滤出柜员号,如下图:

222

点击确定保存该行权限设置。

4、效果查看

使用上面创建的业务包1中的三张表机构表、用户登录权限表和业务流水表创建自助数据集,如下图,包含了

222

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

222

管理系统>权限管理中将该仪表板的查看权限分配给分行长、支行长及柜员。

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

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

222

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

222

柜员(账号为6159)显示仅为本柜员号6159的数据:

222