Java 在Spring中处理webservice调用和AJAX调用的会话超时
我有一组直接使用URL调用的web服务,一些web服务是使用来自web应用程序的AJAX请求调用的。我正在尝试处理这两个请求的会话超时,但面临一些问题。以下是我所做的尝试和面临的问题 已将以下内容添加到my web.xml Spring安全配置: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()"/>
<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>