2011-09-02 17 views
12

Estoy creando una aplicación web usando Pyramid con sesiones de Beaker.
me gustaría guardar la identificación del usuario en request.session['user_id'] y alguna otra información después de la exitosa firma y luego utilizarlo para comprobar si el usuario ya inicio de sesión:Uso de sesiones de vaso para comprobar si el usuario está autenticado en Pyramid

if 'user_id' in request.session: 
    # user signed in 
else: 
    # user not signed in or session is expired 

La pregunta es: ¿es seguro confiar en las sesiones o Será mejor y/o más seguro usar Pyramid's authenticated_userid() con remember() y forget() desde pyramid.security?

Respuesta

11

Utilice pyramid_beaker y SessionAuthenticationPolicy, luego use pyramid.authentication.authenticated_userid() para comprobar si están conectados o no. Si devuelve None, no lo son.

+0

¿Qué debo hacer para obtener el ID de usuario real con 'authenticated_userid()'? ¿Debo pasar a algún encabezado que obtengo de 'remember()'? –

+0

Haz clic en "Iniciar sesión" aquí: https://docs.pylonsproject.org/projects/pyramid/1.2/tutorials/wiki2/authorization.html#adding-login-and-logout-views ... establece el resultado de recordar en encabezados de respuesta. –

+0

Estoy llamando 'remember()' y todo funciona exactamente como sea necesario. De todos modos, muchas gracias por tu respuesta –

Cuestiones relacionadas