我已经在我的 Spring MVC 应用程序上启用了 Rest 支持,并将AuthenticationEntryPoint
我的 security-context.xml 设置为
<http auto-config="false" use-expressions="true"
disable-url-rewriting="true" entry-point-ref="restAuthenticationEntryPoint">
RestAuthenticationEntryPoint.java
@Component
public final class RestAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
}
}
每当任何用户尝试访问资源而不进行身份验证时,都会出现以下错误:
HTTP Status 401 - Unauthorized
上述行为仅适用于 Rest 服务。但是,如果用户未通过身份验证,我希望默认行为将用户重定向到正常 Web 请求的登录页面。如何做到这一点?