我遇到了保持用户登录的问题(请记住我)。 我已经安装了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分钟后,会话就会消失。
我做错了吗?
感谢您的帮助!
大卫
答案 0 :(得分:2)
您在设置文件中添加了SESSION_EXPIRE_AT_BROWSER_CLOSE = True,并且您的代码中的settings.SESSION_EXPIRE_AT_BROWSER_CLOSE = False有时可能会产生冲突。