[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。