3

TG1 では、次のような方法でログイン ユーザーを変更できます。

identity.set_current_identity(identity)

TG2で同様のことをすることは可能ですか? 似たようなものを提供するべき repoze.who のようですが、魔法の言葉が見つからないようです。

または、ログインとパスワードを要求し、そのデータを /login_handler に送信するという通常のアプローチ以外の方法で repoze.who を使用する方法に関するドキュメントがあります。login_handler を処理するコードはどこにありますか?

ありがとう!

4

1 に答える 1

3

識別子を使用して、新しいユーザーを覚えておくことができます。デフォルトでは、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
于 2011-07-09T17:09:18.737 に答える