在TG1中,您可以通过执行类似的操作来更改登录的用户:

identity.set_current_identity(identity)

在TG2中是否可以做类似的事情?似乎重新填充了。谁应该提供类似的东西,但我似乎找不到魔术词。

另外,他们的任何文档是如何使用repoze的任何文档。除了要求登录和密码的常规方法以外,谁以任何方式将数据提交给 /login_handler。处理登录_handler的代码在哪里?

谢谢!

有帮助吗?

解决方案

您可以使用标识符记住新用户。默认情况下,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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top