将AnonymousUserMixin分配给真实用户

问题描述 投票:1回答:1

基本上,我想制作一个应用程序(Superset)配置为使用flask-login进行身份验证工作,而不需要任何身份验证。匿名用户已经被分配/执行为AnonymousUserMixin,但应用程序的某些部分需要用户名和大概ID。

我的想法是在数据库中创建一个Admin用户,并以某种方式将AnonymousUserMixin指定为始终等于该用户。我将如何做到这一点以及在烧瓶登录或超集代码中的哪个位置我会这样做?

注意:进入此应用程序的身份验证已经得到处理,因此安全隐患没有实际意义。

先感谢您!

python flask-login superset apache-superset
1个回答
2
投票

Superset使用Flask-AppBuilder作为底层Web框架。 Its configuration包括:

AUTH_TYPE = 0 | 1 | 2 | 3 | 4这是身份验证类型

  • 0 =开放ID
  • 1 =数据库样式(用户/密码)
  • 2 = LDAP,也使用AUTH_LDAP_SERVER
  • 3 =使用Web服务器环境变量REMOTE_USER
  • 4 =使用一个或多个OAUTH提供商

我们的兴趣是3。因为Superset supports middleware设置预定义用户就像(在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]
© www.soinside.com 2019 - 2024. All rights reserved.