首页 > 解决方案 > 使用 Postgres 的 Superset 行级安全性未正确读取表达式 {{current_username()}}

问题描述

我一直在尝试将行级安全性添加到超集,并且我写了这个子句: rls 子句

当我在数据库的 select 中硬编码这个子句时,它可以正常工作,但是当我尝试动态调用 current_username() 时,它没有正确读取它。

这就是我在 sqlLab 上调用 current_username() 时发生的情况: sqlLab 结果

我目前在 docker 上使用 Superset 0.999.0dev,并且正在连接到 Postgres 数据库。感谢您的帮助

标签: postgresqlapache-supersetsuperset

解决方案


我想到了!基本上你需要做的是按照本指南直接从 github 获取 docker 镜像。

克隆项目后,找到保存项目的文件夹并查找 docker/pythonpath/superset_config.py ,然后在该文件中,像这样"ENABLE_TEMPLATE_PROCESSING":True放置在里面。FEATURE_FLAGS

完成文件编辑后,您应该能够运行 docker-compose 命令。仅供参考,完全加载需要一点时间。


推荐阅读