Gestion des sessions
Par django-session-timeout
- Install
# source /opt/venvs/bbweb3.7/bin/activate
# pip install django-session-timeout
- Modifs settings.py
In : /var/www/django_bioinfobiogerweb/django_bioinfobiogerweb/settings.py
Add :
MIDDLEWARE = [
'django_session_timeout.middleware.SessionTimeoutMiddleware'
# session expires after 30 minutes of inactivity
SESSION_SAVE_EVERY_REQUEST = True
SESSION_EXPIRE_SECONDS = 60 # 1 min pour tester
SESSION_EXPIRE_AFTER_LAST_ACTIVITY = True
SESSION_TIMEOUT_REDIRECT = 'logout' # redirect to whatever page
=> Ok, ça renvoie sur la page logout après 1 minute d'inactivité ( à améliorer, renvoyer sur page actuelle ?)
MAIS on n'est pas vraiment déloggué :
soit à cause de la persistence remote_user configuré dans settings
soit je crois plutôt à cause de la config dans :
/opt/venvs/bbweb3.7/lib/python3.7/site-packages/django/contrib/auth/views.py
car après auth_logout(request), on renvoie vers next_page
Cf rubrique Déconnexion d’un utilisateur : https://docs.djangoproject.com/fr/3.1/topics/auth/default/
Essai (pas concluant) gestion session par Apache (mod_session)
yum install mod_session # ok
Et modif de /etc/httpd/conf.d/bbweb-ssl.conf :
Session On
SessionMaxAge 60
SessionCookieName session-cookie path=/
=> aucun effet !
Essai (pas concluant) gestion session par Apache (WSGIDaemonProcess)
Modif de /etc/httpd/conf.d/bbweb-ssl.conf :
WSGIDaemonProcess www.bbwebdev.toulouse.inrae.fr inactivity-timeout=60 request-timeout=60 startup-timeout=60
=> aucun effet !