Frage

In TG1 können Sie den protokollierten Benutzer ändern, indem Sie so etwas tun wie:

identity.set_current_identity(identity)

Ist es möglich, in TG2 etwas Ähnliches zu tun? Es scheint wie Repoze zu sein. Wer sollte etwas Ähnliches liefern, aber ich kann die magischen Wörter nicht finden.

Alternativ ist ihre Dokumentation zur Verwendung von Repoze.Wer in irgendeiner Weise als der übliche Ansatz, nach einem Anmeldung und einem Passwort zu fragen, und diese Daten an /login_handler zu senden. Wo ist der Code, der login_handler verarbeitet?

Vielen Dank!

War es hilfreich?

Lösung

Sie können die Kennung verwenden, um einen neuen Benutzer zu erinnern. Standardmäßig werden die Benutzer von Turbuears2 von ihrem Benutzernamen identifiziert, sodass Sie sie mit dem Benutzernamen wechseln können.

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top