问题:
我想在未登录的情况下,直接访问superset
中已经设计好的dashboad
,怎么办?
解决方案:
superset
官方文档给出的解决方案https://superset.incubator.apache.org/security.html#public
按照文档的方法,首先在
site-packages/superset
目录下的superset_config.py
中找到PUBLIC_ROLE_LIKE_GAMMA
这个变量,设置为True
,这样就可以让public
角色获得和GAMMA
一样的权限;其次,你要明确的指明dashboad
中你需要访问的数据库,意思是你要编辑public
角色,并且新增一条权限,datasource access on []
(直接输入数据库名,superset
会帮你模糊查询到对应权限的);最后,到dashboad
下拿到链接,退出登录,浏览器访问,一顿操作,告诉我
access denied
....
那么问题来了,
site-packages/superset
目录下没有superset_config.py
这个文件诶,只有config.py
。嗯,那就决定是它了,直接修改config.py
文件中的PUBLIC_ROLE_LIKE_GAMMA = True
。重启服务(请参考别人家的安装superset
的教程),我这边是python superset runserver -d
,然而无事发生,access denied
依旧。感觉PUBLIC_ROLE_LIKE_GAMMA = True
这货没生效,去查看public
角色,里面的权限还是[],突然想起来安装superset
时有个初始化角色的命令。遂关掉服务,python superset init
。重启服务,public
角色里面已经有一堆满满的权限了,从GAMMA
抄来的。然后愉快的编辑角色,添加dashboad
要用到的数据库权限(注意要明确数据库名)。最后登出后,直接访问dashboad
的url
。成功,至于上面出现的superset
的菜单栏导航,参考这位兄嘚https://blog.csdn.net/f4761/article/details/83000995的操作吧,css
一下