Spring Security之安全异常处理
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler {
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
AuthenticationException exception) throws IOException, ServletException {
// 在这里处理认证失败逻辑,例如记录日志、返回错误信息等
// 以下是一个简单的例子,返回401未授权状态码和错误信息
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.getWriter().write("认证失败:" + exception.getMessage());
}
}
这段代码定义了一个自定义的认证失败处理器CustomAuthenticationFailureHandler
,它继承自Spring Security提供的SimpleUrlAuthenticationFailureHandler
。在认证失败时,它会记录错误信息并返回401未授权状态码和错误信息给客户端。这样,开发者可以根据实际需求对错误处理进行灵活扩展。
评论已关闭