我使用的是最新版本的超级集,它在UI中有行级安全选项。有人能帮助我吗?让我知道或者简单地介绍一下,我如何在UI中实现它并使用它。那里几乎没有多少文件。
发布于 2020-12-16 04:15:53
行级安全性本质上像WHERE子句一样工作。让我们假设我们使用一个名为tbl_org
的表构建了一个仪表板,如下所示:
manager_name department agent
Jim Sales Agent 1
Jim Sales Agent 2
Jack HR Agent 3
Jack HR Agent 4
比如说,当Jim登录时,我们只需要向他展示他是仪表板经理的行/记录。杰克也一样。这是RLS有用的时候。
Superset UI提供了三个需要填充的字段。
tbl_org
SELECT * from tbl_org where manager_name = Jim
,这将导致查询:manager_name = Jim
如果要根据登录用户动态筛选表,可以使用jinja模板:
manager_name = '{{current_username()}}'
为此,在超级集中创建的用户名需要与tbl_org
中的tbl_org
列匹配
发布于 2020-12-16 01:29:42
行级安全性(RLS)允许管理员将WHERE谓词强制放入代表用户发送到DB的查询SQL语句中。
这可用于将查询结果限制为显式满足或不满足特定条件的行,并因此导致筛选返回给用户的列表或行。可以根据目标表和用户角色应用这些标准。
发布于 2021-05-14 11:21:54
如果您想让[manager_name = '{{current_username()}}']
变得合理,就必须在config.py中添加["ENABLE_TEMPLATE_PROCESSING": True]
。
https://stackoverflow.com/questions/65286792
复制相似问题