Django 会话问题 (django-session-security)

Django session issue (django-session-security)

我在保持用户登录时遇到问题(记住我)。 我已经安装了 django-session-security 并配置了以下设置:

#SESSION SECURITY SETTINGS
SESSION_SECURITY_WARN_AFTER = 540
SESSION_SECURITY_EXPIRE_AFTER = 600
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_DOMAIN = '.domain.com'

现在,当用户登录并勾选 "remember me" 时,我使用以下方法覆盖 "SESSION_EXPIRE_AT_BROWSER_CLOSE" 设置:

#Creating the session (no expire/expire) based on choice
if request.POST.get('checkbox', None):
#setting the cookie for a week and overriding the expire at browser close.
#session timing will still be in place.
    request.session.set_expiry(604800)
    settings.SESSION_EXPIRE_AT_BROWSER_CLOSE = False
else:
    #Session will expire at browser close.
    #session timing will still be in place.
    pass
login(request,user)

我看到 cookie 存储了正确的到期日期,但是当我关闭浏览器 15 20 分钟时,会话消失。

我是不是做错了什么?

感谢您的帮助!

大卫

您在设置文件中添加了 SESSION_EXPIRE_AT_BROWSER_CLOSE=True,在代码中添加了 settings.SESSION_EXPIRE_AT_BROWSER_CLOSE=False,有时这些可能会产生冲突。