De acuerdo con la documentación de Django, "si SESSION_EXPIRE_AT_BROWSER_CLOSE se establece en True, Django utilizará cookies de longitud de navegador, cookies que caducan tan pronto como el usuario cierre su navegador. Use esto si desea que las personas tengan que iniciar sesión cada vez que abren un navegador ".¿Por qué SESSION_EXPIRE_AT_BROWSER_CLOSE = True no registra al usuario cuando se cierra el navegador?
Y eso es lo que hice añadiendo la siguiente línea a mi archivo settings.py (y reiniciar el servidor):
# Close the session when user closes the browser
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Entonces Me he registrado en una página que comprueba si el usuario es autenticado, y luego cerré el navegador. Cuando abro mi navegador y visitar de nuevo la misma página que no pide un nombre de usuario y una contraseña, ya que pasa a la siguiente prueba parecer:
def check_teacher(request):
result = {}
if request.user.is_authenticated():
...
¿Qué estoy haciendo mal o lo que me estoy perdiendo? ¿Alguna sugerencia?
Estoy utilizando Django versión 1.3 pre-alpha SVN-13858 en mi sistema Ubuntu GNU/Linux 10.10 y estoy ejecutando el ejemplo anterior usando el servidor de desarrollo Django.
Probablemente ya haya almacenado en su navegador una cookie de larga duración antes de cambiarla por una sesión. Intenta eliminar tus cookies –
Funcionó solo una vez :(Eliminé las cookies y los inicios de sesión activos en mi Firefox (usando Herramientas -> Borrar historial reciente) luego cerré el navegador y cuando traté de visitar la página nuevamente solicité el nombre de usuario y la contraseña. Ingresé y luego cerré el navegador, luego lo abrí de nuevo, visité la misma página pero esta vez no volví a preguntar. Cerré y volví a abrir algunas veces y desafortunadamente nunca volvió a cerrar la sesión. –