gpt4 book ai didi

javascript - 如何在关闭选项卡时强制注销用户

转载 作者:行者123 更新时间:2023-11-29 23:42:28 24 4
gpt4 key购买 nike

我正在使用 spring 和 struts 开发企业应用程序。但是,我在 Tab close 上遇到了问题。如何在关闭浏览器选项卡或在另一个选项卡上打开同一页面时强制用户注销。

我一直在尝试使用 onbeforeunload 但是当应用程序在移动浏览器上运行时我遇到了问题。我也看到了以下示例,但没有人有明确的解释。

How to kill session when user closed the browser without logout

How to Detect Browser Window /Tab Close Event?

有什么解决方案可以使用 javascript 或从服务器来解决这个问题吗?谢谢

最佳答案

Finally I found a solution that worked!

当用户登录时,我使用 sessionStorage存储用户已登录:

sessionStorage.setItem('logged', true)

SessionStorage 将保留该属性,直到选项卡或浏览器关闭。

所以在应用程序内部,我检查 SessionStorage 是否仍然拥有该属性。如果不是,那么我注销用户并将他重定向到登录。

if (!sessionStorage.getItem('logged')) {
localStorage.removeItem('token')
navigator.sendBeacon('api/logout')
window.location.replace("/login") //redirect to login
}

对于那些想知道什么是 navigator.sendBeacon 的人,您可以阅读 here to learn more .实际上,我使用它是因为我希望即使选项卡关闭也能访问 api/logout。

关于javascript - 如何在关闭选项卡时强制注销用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44916636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com