【问题标题】:How to allow some requests to bypass session timeout in web.xml如何允许某些请求绕过 web.xml 中的会话超时
【发布时间】:2018-02-27 10:40:52
【问题描述】:

我们支持的 Web 应用程序是使用 SpringMVC 以 JAVA 编写的。 我们有一个现有的要求,即我们的应用程序在用户不活动 60 分钟后超时。 为此,我们在应用程序 web.xml 文件中有一个 session-timeout 条目;到目前为止,这工作得很好。

问题是现在我们有一个新的 GUI 组件,它需要定期(60 秒)调用 home。 这基本上是作为一个保活:( 由于我们必须支持浏览器版本,我们不能使用 websocket,所以我们只是定期轮询(我不确定这是否相关)。

有没有办法配置我们的 webapp 以忽略触发 session-timeout 的特定请求。

【问题讨论】:

    标签: java spring timeout session-timeout


    【解决方案1】:

    你可以试试session.setMaxInactiveInterval。这应该会覆盖默认超时。

    【讨论】:

    • 问题是我们仍然需要会话在 60 分钟后超时,我们只是不希望特定的自动间歇调用触发保持活动。基本上,我们的用户在做其他事情时会打开他们的网络浏览器。如果他们在 60 分钟内没有与应用程序交互,则会超时。但是这些特定的 REST 调用每 60 秒(左右)自动运行一次,并且这些调用无法使会话保持活动状态。
    • 哦。我知道了。我不知道任何配置,但您可以手动计算并设置您不想重置会话超时的请求的最大非活动间隔。例如, 'session.setMaxInactiveInterval(60 分钟 - (当前时间 - 上次访问时间))' 。有道理?您可以在过滤器中实现这一点。结帐此question。这似乎与您的要求有关。
    • 我认为我们必须走的路线是仅在 GUI 中有用户活动时才进行自动调用。
    猜你喜欢
    • 2017-12-10
    • 2013-03-01
    • 2012-11-07
    • 2020-09-09
    • 1970-01-01
    • 2011-03-08
    • 2018-01-23
    • 2016-08-10
    • 2013-06-10
    相关资源
    最近更新 更多