将匿名用户分配给真实用户



我想制作一个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]

最新更新