多层级/树权限需求实例

编辑
  • 文档创建者:doreen0813
  • 浏览次数:2683次
  • 编辑次数:8次
  • 最近更新:doreen0813 于 2018-11-08
  • 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


    附件列表


    主题: 管理员指南
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]