[Superset] 设置Superset的登录设置

Airbnb的开源BI项目Superset: https://airbnb.io/projects/superset/

 

自己在个人服务器上搭了一个Superset服务, 目的只是给别人看demo。

但是Superset需要登陆验证,没有账户无法查看。

所以研究了一下如何disable这个登录过程。

最直接的方案应该是在初始化的过程中inject一个固定的User。

Superset基于Flask,研究了一下Flask的登录机制。

首先需要在数据库创建一个公用的账号。admin账号id是1, 公用账号id是2.

 

1. 在superset/__init__.py 文件中,完成app的初始化之后,修改app的before_request。

app = Flask(__name__)
config = app.config()
@app.before_request def noLogin():   from flask import session   session["user_id"] = 2

Superset的登录是基于Flask-login, 但是经过了Flask-Appbuilder的封装,逻辑变的很复杂。如果要改善,需要仔细研究下SupersetSecurityManager。

posted @ 2019-11-11 14:58  oDoraemon  阅读(4474)  评论(0编辑  收藏  举报