我想制作一个Superset应用 1 ,该应用程序被配置为使用flask-login
进行auth而没有任何auth。匿名用户已经被分配/执行为AnonymousUserMixin
,但是该应用程序的一部分需要用户名和大概是ID。
我的想法是在数据库中创建管理用户,并以某种方式分配AnonymousUserMixin
以始终与该用户相等。我该怎么做,在烧瓶或超集代码中,我将要执行此操作?
注意:进入此应用程序的身份验证将已经得到照顾,因此安全含义是有意义的。
超集用作基础网络框架用作烧瓶应用程序。它的配置包括:
auth_type = 0 |1 |2 |3 |4 这是身份验证类型
- 0 =打开ID
- 1 =数据库样式(用户/密码(
- 2 = ldap,使用auth_ldap_server也
- 3 =使用Web Server Environ Var Remote_user
- 4 =使用一个或多个Oauth提供商
我们的兴趣是3
。因为Superset支持中间件设置预定义用户很容易(在superset_config.py
中(:
AUTH_TYPE = 3
class PredefinedUserMiddleware:
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
environ['REMOTE_USER'] = 'admin'
return self.app(environ, start_response)
ADDITIONAL_MIDDLEWARE = [PredefinedUserMiddleware]