我有一个 Web 应用程序,我在其中使用了 Spring 框架。 对于并发 session 控制,我使用了 spring 功能,一旦该用户登录到另一个 session ,他/她之前的 session 将过期,只有 1 个登录 session 将为该用户维护。
现在在这种情况下,我收到此消息“此 session 已过期(可能是由于以同一用户身份尝试多次并发登录)。”
但我在浏览器的完整白页上收到此消息。我希望这条消息只出现在我的登录屏幕上。
这是我的 spring security xml 的一部分,我在其中为用户处理了并发 session 。
<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
<security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>
任何专门用于自定义此消息并将此消息重定向到所需 Web 应用程序页面的链接将不胜感激。
提前致谢。
最佳答案
spring-security.xml 中的原始 XML 条目
<security:session-management session-authentication-error-url="/login.jsp?error=alreadyLogin">
<security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>
只需在 xml 中添加以下参数来重定向登录过期操作或无效 session url
expired-url="url 值"
无效 session url="url 值"
修改后的 XML 条目
<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
<security:concurrency-control max-sessions="1" expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false" />
</security:session-management>
关于java - 如何在登录屏幕上重定向 Spring 安全并发 session 控制 'message'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328290/