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

时间:2015-04-13 21:44:37

标签: django django-sessions

我遇到了保持用户登录的问题(请记住我)。 我已经安装了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'

现在,当用户登录并拥有"记住我"勾选我覆盖" 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分钟后,会话就会消失。

我做错了吗?

感谢您的帮助!

大卫

1 个答案:

答案 0 :(得分:2)

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