Turbogearsは、関数呼び出しを介してユーザーを変更します
-
14-10-2019 - |
質問
TG1では、次のようなことを行うことで、ログインしているユーザーを変更できます。
identity.set_current_identity(identity)
TG2で同様のことをすることは可能ですか?それはレポーズのように思えます。誰が似たようなものを提供するべきですが、私は魔法の言葉を見つけることができないようです。
あるいは、ログインとパスワードを要求し、そのデータを /login_handlerに送信するという通常のアプローチ以外の方法で、repozeの使用方法に関するドキュメントです。 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
所属していません StackOverflow