You*_*suf 2 asp.net cookies .net-core
我在.net核心mvc应用程序中使用cookie身份验证.我的一个要求是在浏览器关闭时注销用户.我在应用程序中将滑动到期时间设置为5分钟.正如预期的那样,如果用户在5分钟后回到网站,用户被重定向到登录页面,但如果用户在5分钟内回来,则用户自动登录.如果浏览器关闭,有没有办法注销用户?
没有直接的方法来检测浏览器是否已关闭,但您当然可以检查选项卡是否已关闭.您可以按照以下方式使用,按照复杂程度:
unload在<body>标签上收听活动:
<html>
<body onunload="tellServerBrowserClosed()">
<!--...-->
Run Code Online (Sandbox Code Playgroud)
警告:即使您通过链接(在同一站点内)或浏览器后退按钮离开站点,也会触发.(not a good solution)
只需定期(20-60秒间隔)GET从浏览器(应具有用户的cookie)的API 发送Ajax 请求.当错过2-3个信标(API调用)时,清除该用户的数据.
警告:您需要实现服务器端cronjob来处理过期的信标
使用WebSocket连接(可能是Socket.io).这样,只要用户关闭选项卡,连接就会关闭,您可以使用此事件来清除其会话.(为了增加准确性,您可能希望跟踪来自同一用户的多个套接字连接,以防它们使用多个选项卡)
| 归档时间: |
|
| 查看次数: |
6116 次 |
| 最近记录: |