Окончание сеанса на основе ключа Django - PullRequest
4 голосов
/ 20 июля 2011

У меня есть веб-сайт, который содержит несколько наборов правил для разных типов пользователей. Одно из правил (разрешений) зависит от истечения сеанса.

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

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

Как мне достичь этого срока действия сеанса на основе ключей в Django?

1 Ответ

0 голосов
/ 13 февраля 2014

Вы можете сделать это, используя метод set_expiry на request.session. Метод принимает целое число в секундах для истечения сеанса, datetime или timedelta, когда истекает срок сеанса, целое число 0, чтобы указать, что сеанс должен истечь во время закрытия браузера, или None, чтобы указать, что сеанс должен использовать политику тайм-аута по умолчанию.

Вы должны быть в состоянии написать часть промежуточного программного обеспечения, которое оценивает критерии, установленные для истечения сеанса, а затем вызвать set_expiry в сеансе до обработки запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...