Среда Django предоставляет несколько методов управления временем истечения сеанса. Вот несколько подходов, которые вы можете использовать:
-
Срок действия сеанса по умолчанию: Django устанавливает время истечения сеанса по умолчанию, которое контролируется настройкой
SESSION_COOKIE_AGEв файле настроек вашего проекта. По умолчанию установлено значение 2 недели (1209600 секунд). По истечении этого времени срок действия сеанса истечет. -
Возраст файла cookie сеанса. Вы можете изменить время истечения срока действия сеанса для каждого сеанса, обновив атрибут
SESSION_COOKIE_AGEобъекта сеанса. Например, вы можете установить для него определенное значение в секундах, напримерrequest.session.set_expiry(3600), чтобы завершить сеанс через один час. -
Истечение срока бездействия сеанса: Django также поддерживает настройку истечения срока действия сеанса после периода бездействия. Вы можете использовать параметр
SESSION_IDLE_TIMEOUT, чтобы определить максимальное время простоя в секундах. Как только пользователь будет бездействовать в течение этого времени, срок сеанса истечет. -
Пользовательское промежуточное ПО. Вы можете создать собственное промежуточное ПО для обработки истечения срока действия сеанса. В промежуточном программном обеспечении вы можете проверить время создания сеанса и сравнить его с текущим временем. Если сеанс превышает определенный лимит времени, вы можете аннулировать его.
-
Автоматическое завершение сеанса: Django предоставляет параметр
SESSION_EXPIRE_AT_BROWSER_CLOSE, который, если для него установлено значениеTrue, завершает сеанс, когда пользователь закрывает браузер. -
Функция «Запомнить меня». Если вы хотите реализовать функцию «Запомнить меня», вы можете использовать параметр
SESSION_COOKIE_AGE, чтобы установить более длительный срок действия файла cookie сеанса, когда пользователь проверяет Опция «Запомнить меня» при входе в систему. -
Сторонние пакеты: Django предлагает различные сторонние пакеты, расширяющие возможности управления сеансами. Примеры: безопасность сеанса Django, django-session-timeout и Django-Cookie-Session.
Автоматическое завершение сеанса. р>