JavaSpring安全性:登录身份验证控制器
当身份验证失败时,我试图重定向回登录页面,并显示一些错误消息。我想知道我们如何在security-context.xml
中向/login
传递一些参数,说这是未经身份验证的,然后附加一些错误文本
<security:form-login login-page="/login"
username-parameter="email"
password-parameter="password"
default-target-url="/member/"
authentication-failure-url="/login"/>
/login
实际上是一个用于返回ModelAndView的控制器
# 1 楼答案
尝试简单地将查询参数附加到
authentication-failure-url
中,如下所示:然后,您的登录处理程序方法可以接收该可选查询参数,并相应地操作响应。大致如下:
# 2 楼答案
我通常这样做
以及控制器:
该参数有助于显示错误消息
# 3 楼答案
您还可以使用AuthenticationFailureHandler,它将根据您将收到的AuthenticationException做出不同的反应
例如,它可以将用户重定向到/登录?errorCode=errorCode1
然后,您可以修改控制器以对不同的错误代码作出反应: