【问题标题】:Turbogears change user via function callsTurbogears 通过函数调用改变用户
【发布时间】:2011-06-02 08:48:06
【问题描述】:

在 TG1 中,您可以通过以下方式更改登录用户:

identity.set_current_identity(identity)

是否可以在 TG2 中做类似的事情?似乎 repoze.who 应该提供类似的东西,但我似乎找不到神奇的词。

或者,他们是否有关于如何以任何方式使用 repoze.who 的文档,而不是要求登录名和密码的通常方法,然后将该数据提交到 /login_handler。处理 login_handler 的代码在哪里?

谢谢!

【问题讨论】:

    标签: python authentication login turbogears2 repoze.who


    【解决方案1】:

    您可以使用标识符来记住新用户。默认情况下,TurboGears2 中的用户由用户名标识,因此您可以使用用户名进行切换。

    def force_user(user_name):
        request = tg.request
        response = tg.response
    
        request.cookies.clear()
        authentication_plugins = request.environ['repoze.who.plugins']
        identifier = authentication_plugins['main_identifier']
    
        try:
            response.headers = identifier.remember(request.environ, {'repoze.who.userid':user_name})
        except:
            pass
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      相关资源
      最近更新 更多