Вход пользователей из сайта Django после N минуты неактивности

Я работаю над веб-сайтом, который требует, чтобы мы зарегистрировали пользователя после N минуты неактивности. Есть ли какие-либо лучшие практики для этого использования Django?

20
задан Chip Tol 29 March 2010 в 15:24
поделиться

3 ответа

Взгляните на промежуточное программное обеспечение сеанса и его настройки. В частности, эти два:

SESSION_COOKIE_AGE

По умолчанию: 1209600 (2 недели в секундах)

Возраст файлов cookie сеанса в секундах.

SESSION_SAVE_EVERY_REQUEST

По умолчанию: False

Сохранять ли данные сеанса при каждом запросе. Если это False (по умолчанию), то данные сеанса будут сохраняться только в том случае, если они были изменены - то есть, если какое-либо из его словарных значений было присвоено или удалено.

Установка низкого SESSION_COOKIE_AGE и включение SESSION_SAVE_EVERY_REQUEST должны работать для создания "скользящего" истечения срока.

39
ответ дан 29 November 2019 в 23:48
поделиться

Установка возраста cookie сеанса в промежуточном программном обеспечении сеанса django просто устанавливает время истечения срока действия в заголовке set-cookie, передаваемом обратно в браузер. Только соблюдение браузером времени истечения срока действия приводит к "выходу из системы".

В зависимости от причин, по которым вам нужен выход из системы в режиме ожидания, вы можете не считать соблюдение браузером времени истечения срока действия достаточно хорошим. В этом случае для этого вам потребуется расширить промежуточное ПО сеанса.

Например, вы можете сохранить время истечения срока действия в механизме сеанса, которое вы обновляете запросами. В зависимости от характера трафика на ваш сайт, вы можете захотеть записывать обратно в объект сеанса только один раз в X секунд, чтобы избежать чрезмерных операций записи в базу данных.

2
ответ дан 29 November 2019 в 23:48
поделиться

Попробуйте установить settings.SESSION_COOKIE_AGE на N * 60 секунд.

http://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-age

0
ответ дан 29 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: