Turbogears 通过函数调用更改用户

发布于 2024-10-10 07:08:53 字数 289 浏览 3 评论 0原文

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

identity.set_current_identity(identity)

是否可以在 TG2 中执行类似的操作?似乎 repoze.who 应该提供类似的东西,但我似乎找不到神奇的词语。

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

谢谢!

In TG1, you could change the logged in user by doing something like:

identity.set_current_identity(identity)

Is it possible to do something similar in TG2? It seems like repoze.who should provide something similar, but I can't seem to find the magic words.

Alternatively, is their any documentation on how to use repoze.who in any way other than the usual approach of asking for a login and password, and then submitting that data to /login_handler. Where is the code that processes login_handler?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想你的星星会说话 2024-10-17 07:08:53

您可以使用标识符来记住新用户。默认情况下,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

You can use the identifier to remember a new user. By default in TurboGears2 users are identified by their username, so you can switch them using the username.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文