javascript - ASP.NET MVC 在离开当前页面时放弃 session

标签 javascript c# asp.net asp.net-mvc

当用户离开他正在观看的页面时,我需要触发 Session.Abandon()。 如果用户只是刷新页面 session 必须保持。 我尝试在客户端卸载页面时触发 ajax 调用 window.addEventListener("unload", function(e)... 但我无法区分用户是否只是刷新页面或离开它。 我目前正在使用 ASP.NET MVC5。 有什么建议吗?

最佳答案

没有直接的方法可以做到这一点......问题是:你为什么要这么做?我觉得设计很糟糕。

你可以处理一些 navigate event并检查域是否与您当前拥有的域相同。如果不是,则触发 AJAX 调用以放弃 session 。确保调用带有 CSRF token 的 HTTP POST,以确保不会受到 CSRF 的攻击。<​​/p>

关于javascript - ASP.NET MVC 在离开当前页面时放弃 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35862631/

相关文章:

javascript - 如何基于 JSON 创建 HTML 表格

相当于 php call_user_func 的 javascript

c# - 如何列出 IIS 服务器托管的所有网站(不是应用程序)?

asp.net - ASP.NET 的 IIS 7 中缺少 MIME 类型 - 404.17

c# - 如何在 jQuery/JavaScript 中编码 URL 并在 ASP.NET 中解码

javascript jquery 选择单选按钮

javascript - 如何将数字格式化为 2 位小数,但前提是已经有小数?

c# - Node.js 相当于 ASP.NET MVC 中的 Controller 吗?

c# - 使用 .NET Core 的 Firebase 身份验证 (JWT)

c# - HttpContext.Current.User.IsInRole ("Domain\\Domain Users") 需要永远