Python 将AnonymousUserMixin分配给真实用户

Python 将AnonymousUserMixin分配给真实用户,python,flask-login,superset,apache-superset,Python,Flask Login,Superset,Apache Superset,基本上,我想让一个app()配置为使用flask login进行身份验证,而不需要任何身份验证。匿名用户已经被分配/执行为AnonymousUserMixin,但部分应用程序需要用户名和ID 我的想法是在数据库中创建一个管理员用户,并以某种方式将AnonymousUserMixin指定为始终等于该用户。我将如何做到这一点,以及我希望在flask登录或超集代码中的何处做到这一点 注意:进入此应用程序的身份验证将已经得到处理,因此安全问题尚未解决 提前谢谢你 超集用作底层web框架。包括: 认证类型

基本上,我想让一个app()配置为使用
flask login
进行身份验证,而不需要任何身份验证。匿名用户已经被分配/执行为
AnonymousUserMixin
,但部分应用程序需要用户名和ID

我的想法是在数据库中创建一个管理员用户,并以某种方式将
AnonymousUserMixin
指定为始终等于该用户。我将如何做到这一点,以及我希望在flask登录或超集代码中的何处做到这一点

注意:进入此应用程序的身份验证将已经得到处理,因此安全问题尚未解决

提前谢谢你

超集用作底层web框架。包括:

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

  • 0=开放ID
  • 1=数据库样式(用户/密码)
  • 2=LDAP,也使用AUTH_LDAP_服务器
  • 3=使用web服务器环境变量远程用户
  • 4=使用一个或多个OAUTH提供程序
我们的兴趣是
3
。因为超集设置预定义用户与(在
Superset\u config.py
中)一样简单:


谢谢-这将把每个请求映射到数据库中用户名为“admin”的用户上?@MarkSilverberg是的,在我的简短实验中它这样做了。admin是安装时创建的用户。试试看。
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]