根据Django文档,“如果SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True,Django将使用浏览器长度的cookie - 一旦用户关闭浏览器就会过期的cookies。如果您希望用户必须每次都登录他们打开浏览器。“为什么SESSION_EXPIRE_AT_BROWSER_CLOSE = True在浏览器关闭时将用户注销?
和通过添加以下行到我的settings.py文件(和重新启动服务器),我做了什么:
# Close the session when user closes the browser
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
然后我登录到如果用户进行身份验证,检查一个页面,然后我关闭了浏览器。当我再次打开我的浏览器,并访问同一页面它不要求用户名和密码,因为它通过下面的测试显然是:
def check_teacher(request):
result = {}
if request.user.is_authenticated():
...
我在做什么错误或我缺少什么?有什么建议么?
我在我的Ubuntu GNU/Linux 10.10系统上使用Django版本1.3 pre-alpha SVN-13858,并使用Django开发服务器运行上述示例。
在您将其更改为会话之前,您可能已经在浏览器中存储了长寿命的cookie。尝试删除您的Cookie。 – 2010-10-20 10:12:25
它的工作,但只有一次:(我删除了我的Firefox中的Cookie和活动登录(使用工具 - >清除最近的历史记录),然后关闭浏览器,当我试图再次访问该页时,它要求输入用户名和密码。然后关闭浏览器,然后再次打开它,访问相同的页面,但这次它没有再问我关闭并重新打开了几次,不幸的是,它再也没有让我再次登录过我的网站 – 2010-10-20 10:33:54