4.4 数据过滤
4.4.1 功能介绍
在某些使用场景中,需要对用户查看数据的权限进行一定程度的控制。数据过滤功能就是专门用来控制用户查看数据的行权限的。通过在数据源中,对需要进行权限控制的表绑定系统变量,然后在后续的使用过程中,会对所有使用了该数据表的的数据查询添加过滤条件,达到数据行权限的控制。
4.4.2 详细说明
在数据源管理页面,鼠标滑过数据库数据源,然后点击数据源上的数据过滤按钮,弹出数据过滤设置窗口,如下图所示:
然后选择右侧的表,在左侧设置过滤字段以及绑定系统变量,然后点击确定进行保存,如下图:
这样一个表的行权限控制就设置好了,之后所有引用该表的查询都将被自动添加上该过滤条件。
4.4.3 特殊说明
数据过滤功能仅限于数据库数据源,而且sql数据集无法被数据过滤功能覆盖,需要用户在sql数据集中自己引用系统变量,示例SQL如下: 包含的系统变量有:[用户ID],[所属组织的用户ID],[所属组织及下属组织的用户ID],[所属组织ID],[所属组织及下属组织ID],[所属组织名称],[所属组织及下属组织名称]
select * from emp_table where id='[用户ID]';
其中[用户ID]
就是系统变量,也可以使用与参数统一的写法写作 :
select * from emp_table where id = ${uid};
4.4.4 过滤条件
除了数据源,我们在数据集(图形数据集)、图表和图册中也是可以设置过滤条件的,在字符过滤条件中我们也可以使用一部分系统变量达到数据过滤的效果。如下图:
其中[用户ID]就是系统变量,在过滤条件中只能使用这种单一返回自的系统变量。