[]
在实际业务场景中,数据访问权限通常需基于用户角色动态控制,但原始数据表往往缺乏直接的角色关联字段。为此,本功能通过将角色信息添加到过滤器中进行数据过滤,实现行级数据权限管控:系统自动将用户角色信息转化为数据过滤条件,确保不同角色仅能访问权限范围内的数据行,而无需修改底层表结构或创建多套视图。
业务背景: 某高校需在统一数据分析平台中实现校长、分管校长和院长三级管理者的数据权限自动隔离。
实现效果:
校长视角: 全景数据视图,可查看全校所有学院数据
分管校长视角: 跨学院数据视图,仅显示分管学院的关联数据
院长视角: 单学院数据视图,严格限定为本院数据范围
人员关系设定:
数据源: 确保系统已成功创建可用的数据源。
下面以全局组织为例,所有角色都是在全局组织中,由系统管理员来创建该数据集。
步骤一:创建角色和用户
使用管理员账号登录 Wyn ,进入文档门户,单击「系统管理>账户管理>用户管理」,进入用户管理属性设置界面,单击创建用户按钮即可创建用户。
使用管理员账号登录 Wyn ,进入文档门户,单击「系统管理>账户管理>角色管理」,进入角色管理属性设置界面,单击添加角色按钮即可创建用户。角色创建完成后,选中对应的角色,单击添加用户,给对应的角色分配对应的用户。
角色 | 成员 |
---|---|
校长 | |
分管校长 | |
院长 |
步骤二:添加扩展属性
使用管理员账号登录 Wyn ,进入文档门户,单击「系统管理>账户管理>扩展属性」,进入扩展属性设置界面,单击添加属性按钮,进入扩展属性添加界面。
进入扩展属性添加界面,设置属性名为所管学院,并添加如下可选值,选择在用户列表画面显示,允许用户编辑,但不允许隐藏值。由于分管校长管辖多个学院,因此这里需要勾选允许多值。有关扩展属性的介绍,请见扩展属性。
单击保存按钮,保存扩展属性。
步骤三:设置用户属性
单击「系统管理>账户管理>用户管理」,进入用户管理属性设置界面,编辑用户的自定义属性,为各分管校长和院长添加对应的扩展属性值。
步骤四:创建数据集
使用管理员账号登录 Wyn ,进入文档门户,单击创建文档,选择报表的准备数据,选择直连数据集。
进入直连数据集数据准备界面,并将数据源中的表拖拽至关联关系区域。
步骤五:添加并配置参数
数据准备界面,单击数据集准备区域的参数按钮,进入参数准备界面。
参数准备界面,单击添加参数按钮。
设置参数信息。将扩展属性“ 所管学院 ”以及用户“ 角色 ”传递给参数,待在过滤器中使用。并创建三个常量参数:校长_34A5727、分管校长_5C469F87和院长_FC302DEC,对应的参数值是用户的角色,可以在报表中使用文本框,使用Join函数
+角色表达式来获取。
步骤五:添加过滤器
在数据集上创建过滤器,具体如下,请注意选择各过滤器和组之间的与或关系。
过滤器解读:
当用户角色是校长时,满足第一条过滤器。即直接获取所有学院的学生数据。
当用户角色是分管校长或院长时,还需满足学院的过滤条件。即只展示自己所属学院的学生数据。
步骤六:保存并分享
数据集设计完成后,单击上方操作栏的保存按钮,保存数据集(系统管理员admin不满足任何条件,所以数据集打开是空白)。
保存数据集并将数据集分享给校长、分管校长和院长。
步骤七:成果展示
校长视图:校长赵宽登录系统,查看此数据集时,可见所有的学生数据。
分管校长视图:分管校长李四登录系统,查看此数据集时,可看到自己管辖学院的学生数据。
院长视图:院长王丽娜登录系统,查看此数据集时,仅能看到自己管辖学院的学生数据。