登录用户名所在字段,并不一定必须与用户同步数据集中的用户表绑定,根据不同的业务场景,也可以使用其他表中的,字段值与用户登录时所用ID相同的字段,如某商场以门店代码作为登录用户名,构建了一张用户表用于同步用户数据集,此时,在业务包权限中设置登陆用户名所在字段时,便可以根据实际需求选择包含门店代码这一字段的表,绑定该表中的门店代码。此外,现实中会存在需要对部门权限分层的情况,如,销售部权限需要分为一级权限,二级权限和三级权限,此时,若仍然使用之前所述的用户同步数据集中的用户表作为登录用户名所在字段,则可能会出现该用户具有销售部最高的一级权限,但却无法看到二级和三级权限的情况,以下详细举例说明:
工具/原料
bi商业智能软件FineBI
方法/步骤
1
某公司在进行权限分配,权限要求如下图所示,如徐工拥有销售部的所有权限和营销部的市区部分权限,当徐工使用userID登录系统时,能够看到销售部、销售部_市区_、销售部_市区_A组、销售部_市区_B组以及营销部_市区相关的所有数据。从数据库中选取销售组权限表(左)和销售组表(右),添加到业务包中,其中,销售组权限表中的personID与用户登陆的userID相同,如下图:
2
在业务包中对销售组表添加自循环列,将销售组分为三层后,点击新建分析,分别拖拽下拉树控件及明细表,如下图所示:点击保存,通过报表管理将该分析模板添加到目录中,然后在权限管理中,给相应的用户分配该报表的查看权限,详细设置见权限管理
3
在管理系统-数据配置中,选择权限配置管理,在业务包中添加要分配权限的角色,如图所示:因为登录用户名所在字段绑定了用户权限表中的personID,当用户登陆时,会通过用户表中的userID,找到用户权限表中具有相同字段值的personID所在行。只有当销售组表中的groupID与用户权限表中的这些行相同时,对应的数据才会显示给该用户查看。
4
当徐工用10004的用户名登陆时,查看报表时,能看到销售组中的所有数据,以及营销组中市区A组的数据,具体效果如下图所示: