如何使用 JavaScript 检查会话是否过期

How to check if the Session expires using JavaScript

本文关键字:是否 过期 会话 检查 何使用 JavaScript      更新时间:2023-09-26

我想在会话过期后将用户从应用程序中的任何位置重定向到"登录页面"。

如何使用 JavaScript 实现这一点?

会话的典型实现需要两件事:

  1. 浏览器中的饼干
  2. 与存储在 Cookie 中的数字关联的会话的服务器端记录

这些 Cookie 通常设置为会话 Cookie。它们在浏览器关闭时过期。因此,您无需担心测试它们来实现此目的。

要确定会话在服务器上是否仍然有效,您需要(定期)向服务器发出 HTTP 请求(您可以使用 Ajax 执行此操作),并让服务器响应有关会话生命周期的信息。

一个简单的解决方案是返回 true 或 false,如果为 false,则重定向(通过设置 location.href)。

更有效的解决方案是返回会话的剩余生存时间,并使用该信息来确定下一次检查的时间(如果为 0,则重定向)。一个更多的

没有必要定期检查会话是否已过期,您可以做的最好的事情是检查何时在前端触发事件,例如在提交之前/单击之前等。服务器时间是我们需要管理的关键资源,以提供更好的应用性能。