下面以区域为例,具体说明实现步骤1、 管理员用户可以查询全部数据2、 华北区域对应用户登录只能查询到以下数据1、实现当前用户和区域的关联,可以使用【用户属性】来实现。此示例我是用用户组管理的。因此只要获取当前用户组信息即可实现数据权限。因此我们直接使用系统函数实现。如图,用户test属于【华东组】。 这样当使用可视化查询拖拽到表“顾客”的“区域”字段时,就会默认把条件添加到执行的SQL语句中。如下图
其中:函数CurrentUserDefaultDepartmentID表示当前用户所属默认值ID,从左侧资源树【函数—系统函数】中拖拽进来。
注意:数据权限目前只针对可视化查询生效,如果是SQL查询,或是原生SQL查询,需要自己拖拽设置条件。3、 使用数据集创建资源,即可使用不同的用户登录查看效果。下面以一个实例来讲述如何使用业务属性来实现数据权限。实现过程的操作步骤如下。2、 如上图所示。在“ 中获取机构代码值。常用的函数说明如下。4、之后我们利用可视化查询等方式做的报表,如果关联了该mapdata2表,上述数据权限自动生效。最终用户在浏览报表时,会根据用户所属机构不同,自动过滤出其有权限查看的数据内容。比如用户注意:对于用SQL查询和原生SQL查询所创建的报表,必须在 SQL 语句中把用户属性作为过滤条件带上。因为对于原生SQL查询,数据权限是不会自动生效的。