Spring不更新Ajax轮询的会话


问题内容

我们目前在一个Spring
Web应用程序上遇到会话超时问题。会话永远不会超时,因为我们有一个持续的ajax请求轮询服务器。有没有办法告诉spring忽略此请求而不更新会话,以便超时按预期工作?


问题答案:

您可以运行一个等于会话超时的计时器,以及连续的ajax请求,该请求将在页面永不刷新时注销用户。另一个想法是将您要访问的URL托管在同一域的单独的Web应用程序中。我不确定Spring是否为您的工作内置了某些内容。

我考虑了更多。您可以实现自己的会话注册表,而忽略Ajax URL。如果URL与您在忽略列表或Spring
Security过滤器链中定义的过滤器中定义的URL匹配,则基本上不会在会话注册表中为用户设置上次访问时间。

请参阅SessionRegistry