python-Turbogears通过函数调用更改用户

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

identity.set_current_identity(identity)

可以在TG2中做类似的事情吗?似乎repoze.who应该提供类似的内容,但我似乎找不到魔语.

或者,他们是否提供有关如何使用repoze.who的任何文档,而不是通常的方法,即询问登录名和密码,然后将该数据提交给/ login_handler.处理login_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
上一篇:python-GAE上的用户身份验证


下一篇:mysql删除触发器之前,如果没有where子句则防止删除?