【问题标题】:Time to timeout session会话超时时间
【发布时间】:2016-03-19 16:45:07
【问题描述】:

有没有办法找出用户会话保持有效的时间(直到超时)?

我想在页面上显示这个时间。

我知道如何设置超时,但找不到如何让当前时间超时。

【问题讨论】:

  • 当您接受以下答案时,您能否更新一下如何将其应用于您的页面代码?

标签: java session servlets timeout wicket


【解决方案1】:

我认为您应该在浏览器中使用纯 JavaScript 跟踪时间,并在每次 Ajax/WebSocket 调用时重置。

您无法在服务器上跟踪它,因为要检查您需要发出请求的时间,这将更新会话。

【讨论】:

  • 能否详细说明如何通过Javascript检测Ajax/WebSocket call,以便我可以重置时间倒计时?
  • @Pham 基本上,您渲染一段设置变量sessionTimeout 的javascript。订阅 wicket-ajax-events,如果成功,请重置 sessionTimeout
【解决方案2】:

会话对象上有一个getLastAccessedTime(),这可能会有所帮助。

【讨论】:

  • 我是否正确假设超时将发生在 (current-time - getLastAccessedTime()) > getMaxInactiveInterval() ?
  • 但是要使用这种方法你需要发出一个http请求,即它会更新会话。
猜你喜欢
  • 1970-01-01
  • 2010-12-05
  • 2011-09-13
  • 2018-01-24
  • 2010-12-25
相关资源
最近更新 更多