将 AnonymousUserMixin 分配给真实用户

Assign AnonymousUserMixin to a real user

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

我的想法是在数据库中创建一个管理员用户,并以某种方式将 AnonymousUserMixin 分配给该用户。我将如何做到这一点以及我希望在 flask-login 或超集代码中的什么地方做到这一点?

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

提前致谢!

超集用作 Flask-AppBuilder as the underlying web framework. Its configuration 包括:

AUTH_TYPE = 0 | 1 | 2 | 3 | 4 This is the authentication type

  • 0 = Open ID
  • 1 = Database style (user/password)
  • 2 = LDAP, use AUTH_LDAP_SERVER also
  • 3 = uses web server environ var REMOTE_USER
  • 4 = USE ONE OR MANY OAUTH PROVIDERS

我们的兴趣是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]