我使用以下设置在django中执行会话超时:
SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 600
很容易,我正在寻找一种方法来区分用户组的会话cookie年龄。在示例中,我想比普通用户超过工作人员甚至管理员更快。有没有简单的方法可以通过中间件或在视图中动态修改会话cookie年龄?有没有办法避免编写新的会话管理?
这就是我在我的项目中所做的:我在我的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
功能。