“用户属性”界面主要分为以下几个区域:
“用户属性设置区”设置项说明如下:
设置项 | 说明 |
---|---|
名称 | 输入该用户属性的真名。 |
别名 | 输入该用户属性的别名。 |
类型 | 选择该用户属性的数据类型,主要包含:字符串、整型、浮点型、日期、时间、日期时间。 |
数据源 | 该用户属性所属的数据源,在进入“用户属性”界面前选择。 |
描述 | 对该用户属性的相关描述,该描述用于在资源目录区显示的提示信息中。 |
表达式 | 该用户属性的表达式,允用户属性表达式许使用的资源有:表、视图、字段、函数。 |
用户属性通常会和系统函数结合使用。
例如新建一个用户属性叫做"当前用户所属机构",此用户属性的含义是根据用户名获得了用户所在的部门。
它的表达式是: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)"蓝色部分语句是系统自动添加。
1.用户属性的返回值实际上是SQL语句的where部分,如果用户属性返回多个值。这时候,就不能用"=",而应该用"in"。例如:数据行权限管理, 表达式是:分行号 =GetUserProperty(所属分行) 改成:分行号 inGetUserProperty(所属分行) 。
2.GetUserProperty是一个系统自定义的函数,不能手写,要从左边的函数树中拖动到表达式编辑器中。
3.使用用户属性管理和数据权限管理需要拥有【系统管理】的操作权限和相关的资源权限。