|
@@ -350,6 +350,17 @@ public abstract class AbstractProcessingFilter implements Filter,
|
|
|
return uri.endsWith(request.getContextPath() + filterProcessesUrl);
|
|
|
}
|
|
|
|
|
|
+ protected void sendRedirect(HttpServletRequest request,
|
|
|
+ HttpServletResponse response, String failureUrl)
|
|
|
+ throws IOException {
|
|
|
+ if (!failureUrl.startsWith("http://")
|
|
|
+ && !failureUrl.startsWith("https://")) {
|
|
|
+ failureUrl = request.getContextPath() + failureUrl;
|
|
|
+ }
|
|
|
+
|
|
|
+ response.sendRedirect(response.encodeRedirectURL(failureUrl));
|
|
|
+ }
|
|
|
+
|
|
|
public void setAlwaysUseDefaultTargetUrl(boolean alwaysUseDefaultTargetUrl) {
|
|
|
this.alwaysUseDefaultTargetUrl = alwaysUseDefaultTargetUrl;
|
|
|
}
|
|
@@ -466,7 +477,6 @@ public abstract class AbstractProcessingFilter implements Filter,
|
|
|
|
|
|
rememberMeServices.loginFail(request, response);
|
|
|
|
|
|
- response.sendRedirect(response.encodeRedirectURL(request.getContextPath()
|
|
|
- + failureUrl));
|
|
|
+ sendRedirect(request, response, failureUrl);
|
|
|
}
|
|
|
}
|