python session timeout flask

python - ¿Hay alguna manera fácil de agotar el tiempo de espera de las sesiones en el matraz?



subplot python (2)

Estoy construyendo un sitio web con matraz en el que los usuarios tienen cuentas y pueden iniciar sesión. Estoy usando flask-principal para el acceso en parte y la gestión de funciones. ¿Hay alguna forma de que la sesión del usuario caduque después de 5 minutos o 10 minutos? No pude encontrar eso en la documentación del matraz o en la documentación del matraz principal.

Pensé en una forma de hacerlo a mano, establecer un lado del servidor variable con una etiqueta de tiempo en el momento del inicio de sesión y en la siguiente acción que el usuario toma, el servidor verifica el tiempo-delta en esa marca de tiempo y elimina la sesión.


Las sesiones de matraz caducan una vez que cierras el navegador a menos que tengas una sesión permanente. Posiblemente puedas probar lo siguiente:

from datetime import timedelta from flask import session, app @app.before_request def make_session_permanent(): session.permanent = True app.permanent_session_lifetime = timedelta(minutes=5)

Por defecto en Flask, permanent_session_lifetime está establecido en 31 días.


Sí, deberíamos establecer

session.permanent = True app.permanent_session_lifetime = timedelta(minutes=5)

Pero no creo que deba establecerse en app.before_request , esto los llevará a configurar también.

El permanent_session_lifetime es una configuración básica , por lo que debe establecerse en la configuración de la aplicación:

app = Flask(__name__) app.config[''SECRET_KEY''] = ''xxxxxxxxx'' app.config[''PERMANENT_SESSION_LIFETIME''] = timedelta(minutes=5)

La sesión se creará para cada cliente, separado de otros clientes. Entonces, creo que el mejor lugar para establecer session.permanent es cuando "login ()":

@app.route(''/login'', methods=[''GET'', ''POST'']) def login(): #After Verify the validity of username and password session.permanent = True