我有春季网络应用程序,我使用Spring安全性进行用户身份验证。一切顺利,效果很好。
这是我的配置文件。
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/home**" />
<access-denied-handler error-page="/forbidden" />
<form-login login-page="/login"
default-target-url="/admin" authentication-failure-url="/login?error"
username-parameter="NAME" password-parameter="PASSWORD" />
<logout invalidate-session="true" logout-success-url="/login?logout"/>
<session-management invalid-session-url="/login?logout" />
</http>
<beans:bean id="encoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder hash="bcrypt"/>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="query"
authorities-by-username-query="query" />
</authentication-provider>
</authentication-manager>
确定。一切似乎都很好。但我有一个问题。当会话结束(由超时引起)如果用户与页面交互并且有Ajax调用时,我无法重定向到登录页面。换句话说,我只在Ajax调用时遇到问题。
此通话的响应是登录表单页面。但我不需要重定向的页面内容。
Spring Configuration是否有任何解决方案?如果有什么请给我代码示例。
我可能found one solution但没有代码示例。我不确定这是否是我需要的。