gpt4 book ai didi

java - 使用 Spring Security 限制并发 session 并向用户提供正确的消息

转载 作者:太空宇宙 更新时间:2023-11-04 11:56:11 25 4
gpt4 key购买 nike

我想限制我的第二个 session ,而同一用户尝试从不同的计算机登录。以下是我的 Spring Security 代码:

<form-login authentication-success-handler-ref="myAuthSuccessHandler"
login-page='/login' username-parameter="username"
password-parameter="password" authentication-failure-url="/loginfailed"/>

<logout logout-success-url="/logout" delete-cookies="JSESSIONID,the_cookie"/>

<session-management>
<concurrency-control session-registry-alias="sessionRegistry" max-sessions="1"/>
</session-management>

现在使用它我可以限制并发 session ,但我无法向用户提供正确的消息,例如:“用户已从不同的机器登录”。

最佳答案

实现或扩展身份验证失败处理程序,例如SimpleUrlAuthenticationFailureHandler

public class CustomFailureHandler extends SimpleUrlAuthenticationFailureHandler {

@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
AuthenticationException exception) throws IOException, ServletException {
setDefaultFailureUrl("/loginfailed.jsp?status=" + "YOUR CUSTOM MESSAGE HERE");
super.onAuthenticationFailure(request, response, exception);
}
}

关于java - 使用 Spring Security 限制并发 session 并向用户提供正确的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41377544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com