当同一个用户尝试从不同的机器登录时,我想限制我的第二个会话。以下是我的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>现在使用它,我可以限制并发会话,但我不能给用户提供适当的消息,如:“用户已从不同的机器登录”。
发布于 2016-12-31 04:07:34
实现或扩展身份验证失败处理程序,例如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);
}
}https://stackoverflow.com/questions/41377544
复制相似问题