我使用以下代码行让我的浏览器在浏览器关闭时将用户从 Django 管理员中注销SESSION_EXPIRE_AT_BROWSER_CLOSE setting to true如何更改此设置并使其在用户关闭选项卡时,用户被注销?
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
与 Django 完全无关。它与浏览器如何处理 cookie 更相关。
发生的情况是,如果 cookie 没有到期日期(Expires
属性)或Max-Age
,浏览器会将它们视为会话 cookie。这意味着当您退出浏览器会话时,即当您关闭浏览器时,浏览器将删除该 cookie 。
由于关闭选项卡不等于退出浏览器,因此浏览器不会删除会话 cookie。
更新:如果有人真的需要在选项卡关闭时将用户注销,那么可以实现,嗯,有点。
您可以将会话 cookie 的年龄设置为一个较小的数字,可能是 10 分钟。当用户打开选项卡时,每 10 分钟刷新一次 cookie(即发出 AJAX 请求以获取新 cookie)。
当用户关闭选项卡时,他们的会话将在接下来的 10 分钟内自动过期。
这是一个有点复杂的设置,但我已经看到它在银行网站等上实施。由您决定是否为您的网站值得。
添加回答
举报
0/150
提交
取消