需求描述
- 数据看板页面如果不用登录就可以访问
- 集成进来的页面,样式如何修改?比如隐藏头部菜单
数据看板去除登录
- 分享面板,拿到链接,如果此时直接在其他浏览器访问,就会直接跳转到登录页面
- 解决思路
1、权限不够就需要赋予权限,找到需要赋权的对象
通过查看源代码可以发现这些访问都是通过public角色的;
2、角色权限
Admin:拥有所有权限;
Alpha:能访问所有数据源,增加或者更改数据源,但不能更改其他用户权限;
Gamma:必须结合其他能访问数据源的角色才能访问数据。这个角色所能访问的切片和看板,也是基于能访问数据 源所创建的切片和看板;
sql_lab:能访问SQL Lab菜单;
Public:默认没有任何权限
3、赋权
可以参照Gamma角色的权限一项项加入public中,但是实在这样太麻烦了,上百个不得加半天的;
找到superset后台代码中的config.py配置文件,其中有个配置"PUBLIC_ROLE_LIKE_GAMMA",将其改为True。
然后使用"python superset/bin/superset init" 初始化数据库角色权限,结束后可以看到Gamma的权限已经加入到public中了;
4、访问所有数据库权限,你也可以根据需要单独指定数据源。
角色列表--》找到 public ,增加下面一个权限
all database access on all_database_access
- 具体操作
上面废话多了点,如果懒的看就从这里开始吧
1、将config.py中的配置项 PUBLIC_ROLE_LIKE_GAMMA改成True
(寻找这个文件有点麻烦,你可以搜索 使用 find / -name 'config.py'找到 superset下的)
2、superset init 初始化
3、给public角色添加数据源权限
角色列表--》找到 public ,增加下面一个权限
all database access on all_database_access
- 效果如下,左边是登录的,右边是未登录的
集成进来的页面,样式如何修改?比如隐藏头部菜单
- 思路分析
- 既然是个独立的网页,要集成入项目,iframe是个首选
- 我们既然想隐藏或修改样式,独立的网页肯定无法直接修改,但是我们可以换个思路,覆盖样式