Java 在Spring中处理webservice调用和AJAX调用的会话超时

Java 在Spring中处理webservice调用和AJAX调用的会话超时,java,ajax,spring,spring-security,session-timeout,Java,Ajax,Spring,Spring Security,Session Timeout,我有一组直接使用URL调用的web服务,一些web服务是使用来自web应用程序的AJAX请求调用的。我正在尝试处理这两个请求的会话超时,但面临一些问题。以下是我所做的尝试和面临的问题 已将以下内容添加到my web.xml Spring安全配置: <http auto-config="true" use-expressions="true"> <intercept-url pattern="/**" access="isAuthenticated()"/>

我有一组直接使用URL调用的web服务,一些web服务是使用来自web应用程序的AJAX请求调用的。我正在尝试处理这两个请求的会话超时,但面临一些问题。以下是我所做的尝试和面临的问题

已将以下内容添加到my web.xml

Spring安全配置:

<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/**" access="isAuthenticated()"/>
    <form-login authentication-failure-handler-ref="failureHandler"
        authentication-success-handler-ref="successHandler" />
    <intercept-url pattern="/**" />
    <logout logout-success-url="${website.url}" />
    <session-management invalid-session-url="/home?invalid=true" />
</http>
现在,当我登录到应用程序并空闲一分钟,即web.xml中配置的会话超时,并尝试点击任何对webservice进行AJAX调用的URL时,我希望将用户重定向到直接登录页面。这种情况目前没有发生

此外,我还尝试从Chrom extension Postman中点击webservice URL,即使会话超时已过,我仍能得到结果


我在互联网上提到过类似的SO问题和其他资源,但找不到任何解决方案。请建议我是否缺少此处的任何配置。

我们现在以这种方式处理它

在web.xml中添加了会话超时配置,并在http配置中添加了登录页面属性以形成登录

我们可以这样做,因为我们的应用程序登录页面位于web应用程序上下文之外。这是另一台服务器上的一个页面

在服务rest/invalidateSession内部,它将返回一个在前端得到适当处理的错误

<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/**" access="isAuthenticated()"/>
    <form-login authentication-failure-handler-ref="failureHandler"
        authentication-success-handler-ref="successHandler" />
    <intercept-url pattern="/**" />
    <logout logout-success-url="${website.url}" />
    <session-management invalid-session-url="/home?invalid=true" />
</http>
<http auto-config="true" use-expressions="true">
        <!-- Un-comment when authorization is implemented -->
        <intercept-url pattern="/**" access="isAuthenticated()"/>
        <form-login login-page="/rest/invalidateSession"  authentication-failure-handler-ref="failureHandler"
            authentication-success-handler-ref="successHandler" />
        <intercept-url pattern="/**" />
        <logout logout-success-url="${website.url}" />
</http>