Разные настройки SESSION_COOKIE_AGE для разных пользователей - PullRequest
0 голосов
/ 03 января 2019

Я выполняю тайм-аут сеанса в Django со следующими настройками:

SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 600

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

1 Ответ

0 голосов
/ 14 февраля 2019

Это то, что я сделал в своем проекте: я использовал сигнал user_logged_in в своем admin.py и установил SESSION_COOKIE_AGE оттуда.Я не уверен, что это хороший подход, но он работает.

from django.contrib.auth.signals import user_logged_in

def login_hook(sender, **kwargs):
    settings.SESSION_COOKIE_AGE = settings.SESSION_COOKIE_AGE_ADMIN

user_logged_in.connect(login_hook)

Вы также можете попробовать функцию session.set_expiry, если применимо.

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