用户属性指用户的某项特征,例如用户所在的机构等。用户属性可以通过表达式及函数动态的获取,能方便地提供其他的资源使用。
用户属性一般应用于数据权限设置。
若无法直接根据当前用户的信息获取到机构信息,则需要用户和机构的映射表,然后创建用户属性从映射表中根据不同的用户获取机构信息。
操作入口
在资源目录区的“用户属性”节点或已创建的用户属性文件夹的右键菜单中选择 新建 > 用户属性,进入“新建用户属性”界面。
界面介绍
“用户属性”界面主要分为以下几个区域:
设置项说明
“用户属性设置区”设置项说明如下:
设置项 | 说明 |
名称 | 输入该用户属性的真名。 |
别名 | 输入该用户属性的别名。 |
类型 | 选择该用户属性的数据类型,主要包含:字符串、整型、浮点型、日期、时间、日期时间。 |
数据源 | 该用户属性所属的数据源,在进入“用户属性”界面前选择。 |
描述 | 对该用户属性的相关描述,该描述用于在资源目录区显示的提示信息中。 |
表达式 | 该用户属性的表达式,允用户属性表达式许使用的资源有:表、视图、字段。 |
使用说明
用户属性通常会和系统函数结合使用。
例如新建一个用户属性叫做"当前用户所属机构",此用户属性的含义是根据用户名获得了用户所在的部门。
它的表达式是:select org_code from t_org_info where usr_name =CurrentUserName( )。通常用户属性会使用在行权限设置的表达式中。
用户属性应用参考示例:
具体步骤
下面以一个示例来说明用户属性和数据权限如何结合使用:
1、 设置用户属性。例如新建一个用户属性叫做"GetUserProperty(所属部门)",此用户属性的含义是根据用户名获得了用户所在的部门。它的表达式是:select depart from departmentTable where user =CurrentUserName( )。通常用户属性会使用在行权限设置的表达式中。
2、 设置数据权限。例如某个A表设置了数据权限,表达式是:A.department = GetUserProperty(所属部门);在可视化查询中,如果选择的字段涉及到表A,那么" A.department = GetUserProperty(所属部门)"会自动加入到 where部分去。这样,用户登录后,在可视化查询中选取A表中的字段,将只能看到该部门的数据了。即:
" select A.××× from A where A.department = GetUserProperty(所属部门)"
如果当前用户所属的部门为"部门A":
" select A.××× from A where A.department = (部门A)"
蓝色部分语句是系统自动添加。
注意事项