This Middleware is to log users out after a certain amount of time has passed. You'll want to add AUTO_LOGOUT_DELAY to your settings.py, set to a number of minutes after which a user should be logged out.
It adds the key 'last_touch' to the session, you'll want to change that if you happen to be using that already.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
from django.conf import settings from django.contrib import auth from datetime import datetime, timedelta class AutoLogout: def process_request(self, request): if not request.user.is_authenticated() : #Can't log out if not logged in return try: if datetime.now() - request.session['last_touch'] > timedelta( 0, settings.AUTO_LOGOUT_DELAY * 60, 0): auth.logout(request) del request.session['last_touch'] return except KeyError: pass request.session['last_touch'] = datetime.now()
More like this
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 2 weeks, 3 days ago
- Python Django CRUD Example Tutorial by tuts_station 1 month ago
- Browser-native date input field by kytta 2 months, 2 weeks ago
- Generate and render HTML Table by LLyaudet 2 months, 3 weeks ago
- My firs Snippets by GutemaG 2 months, 4 weeks ago