gpt4 book ai didi

asp.net - 当用户离开站点时,如何强制 ASP.Net session 过期?

转载 作者:行者123 更新时间:2023-12-02 18:26:32 25 4
gpt4 key购买 nike

我们有一个场景,我们希望检测用户何时离开我们的网站并立即终止其 .Net session 。我们正在使用表单例份验证。我们不是在谈论 session 超时,我们已经有了 session 超时。我们想知道用户何时通过链接、输入地址或跟随书签浏览离开我们的网站。如果他们返回我们的网站,即使立即返回,他们也必须重新登录(我知道这不是很好的可用性 - 这是我们的客户提出的安全要求)。

我最初的直觉是,这要么不可能,要么任何解决方案都极其不可靠。我们提出的唯一解决方案是:

  • 添加 JavaScript onBlur 事件处理程序,告诉服务器在用户离开网站时注销 session 。
  • 用户登录后,请检查 HTTP 引荐来源网址以确保用户已从网站内导航。
  • 将 AJAX 轮询添加回服务器以保持 session 刷新(可能每隔 10 秒一次)。如果未按时接到电话, session 将结束。

onBlur 似乎是最简单但可能最不可靠的方法 - 我不确定它是否有效。引荐来源网址方法也存在问题,因为用户可以在网站内输入地址而不点击链接。 AJAX 方法似乎可以工作,但它很复杂 - 我什至不知道如何在后端处理它。我认为在某些情况下这可能并不总是有效。

任何想法将不胜感激。谢谢。

最佳答案

我已经选择了像您上面描述的那样的心跳类型场景。 Ajax 轮询或 IFRAME。当用户关闭浏览器并经过一定的超时(10 秒?)后,您可以将其注销。

另一种选择是让网站完全在 AJAX 上运行。因此,用户只能访问一个“URL”,并且所有内容都是动态加载的。当然,您以这种方式破坏了各种可用性问题,但至少您实现了目标。

关于asp.net - 当用户离开站点时,如何强制 ASP.Net session 过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660335/

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