Могу ли я предотвратить истечение срока действия сеансов входа пользователя в Django?

#django #cookies #django-sessions

#django #файлы cookie #django-сеансы

Вопрос:

Я работаю над сайтом, который использует Django 1.2.5. Он использует серверную часть аутентификации Django для входа и выхода пользователей. Это, в свою очередь, использует платформу Django session framework для установки файлов cookie. Похоже, что срок действия файлов cookie, установленных серверной частью сеанса Django, истекает через 2 недели. Я получал жалобы от пользователей на то, что они выходят из своих учетных записей и должны входить в систему снова, и я подозреваю, что это связано с тем, что срок действия файлов cookie истекает через 2 недели. У меня есть SESSION_COOKIE_AGE до 1 года (т. е. 31556926 секунд), но я не знаю, является ли это лучшим решением этой проблемы — я не уверен, что это будет иметь непреднамеренные побочные эффекты.

Есть ли способ сохранять вход пользователей в систему на неопределенный срок (т. Е. сохранять их входящими в систему до тех пор, пока они вручную не выйдут из системы)? Я не нашел настройки, но любое решение (например, промежуточное программное обеспечение или тому подобное) было бы приемлемым.

Комментарии:

1. вы пытались отмечать сеансы измененными — это должно обновлять их действительность при каждом касании к ним

Ответ №1:

Единственный способ продлить срок службы сеанса — использовать файлы cookie с более длительным сроком службы. Любой другой метод идентификации пользователя (например, IP user-agent) страдает от двусмысленности и, следовательно, имеет проблемы с безопасностью.

Ответ №2:

Я создал простое промежуточное программное обеспечение, которое периодически обновляет файлы cookie сеанса пользователя, что устраняет описанную проблему.

https://github.com/IlyaSemenov/django-everlasting-sessions