Django:关闭选项卡时自动注销(不是浏览器)

我使用以下代码行让我的浏览器在浏览器关闭时将用户从 Django 管理员中注销

SESSION_EXPIRE_AT_BROWSER_CLOSE setting to true

如何更改此设置并使其在用户关闭选项卡时,用户被注销?


catspeake
浏览 252回答 1
1回答

慕沐林林

与 Django 完全无关。它与浏览器如何处理 cookie 更相关。发生的情况是,如果 cookie 没有到期日期(Expires属性)或Max-Age,浏览器会将它们视为会话 cookie。这意味着当您退出浏览器会话时,即当您关闭浏览器时,浏览器将删除该 cookie 。由于关闭选项卡不等于退出浏览器,因此浏览器不会删除会话 cookie。更新:如果有人真的需要在选项卡关闭时将用户注销,那么可以实现,嗯,有点。您可以将会话 cookie 的年龄设置为一个较小的数字,可能是 10 分钟。当用户打开选项卡时,每 10 分钟刷新一次 cookie(即发出 AJAX 请求以获取新 cookie)。当用户关闭选项卡时,他们的会话将在接下来的 10 分钟内自动过期。这是一个有点复杂的设置,但我已经看到它在银行网站等上实施。由您决定是否为您的网站值得。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python