4

当用户会话到期时,网站通常如何将用户注销并自动将其发送到登录屏幕?这是通过 ajax 还是运行异步处理程序完成的?你能不能给我一个解释。

4

4 回答 4

4

银行等通过 javascript 或类似的方式使用客户端超时。但实际上,服务器会处理实际的会话,因此如果您禁用客户端逻辑,它的行为就像您在注销时尝试进行事务一样。

于 2009-12-16T19:22:28.953 回答
1

通常,您会在会话 ID cookie 上设置过期时间戳。当 cookie 发送失败时,客户端将被注销(没有给定会话 ID)。

此方法通常与 JavaScript 和另一个时间戳标记结合使用。当计时器开始运行时,会发送一个通知,允许用户“刷新”他们的会话......本质上,在会话时间戳过期之前发出请求。

“刷新”请求可以是任何东西,甚至是像加载图像这样简单的东西。

于 2009-12-16T19:25:04.220 回答
1

使用 cookie 和会话。

  • 启动会话时必须设置 Cookie。
  • 如果 cookie 存在但会话消失,则重定向到
    登录屏幕。
  • 如果没有会话且没有 cookie,则什么也不做

(如果您不能这样做,请原谅我,因为我从未使用过 ASP 并且我的答案基于我的 PHP 知识)

于 2009-12-16T19:45:31.547 回答
0

<security-constraint>如果您使用的是 Tomcat,则可以在 web.xml 定义中使用其内置机制。所有时间、登录屏幕和页面重定向都由 Tomcat 处理,除了定义之外,您几乎不需要付出任何努力。

哦,IIS...没关系。

于 2009-12-16T19:24:40.820 回答