Pregunta

En TG1, que podría cambiar el usuario conectado haciendo algo como:

identity.set_current_identity(identity)

¿Es posible hacer algo similar en TG2? Parece que repoze.who debe proporcionar algo similar, pero me parece que no puede encontrar las palabras mágicas.

Por otra parte, es su ninguna documentación sobre cómo utilizar repoze.who de ninguna manera que no sea el enfoque habitual de pedir un nombre de usuario y contraseña, y luego enviar esos datos a / login_handler. ¿Dónde está el código que los procesos login_handler?

Gracias!

¿Fue útil?

Solución

Se puede utilizar el identificador para recordar un nuevo usuario. Por defecto en TurboGears2 usuarios son identificados por su nombre de usuario, lo que puede cambiar utilizando el nombre de usuario.

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top