package com.monkeylessey.framework.security.handler; import com.fasterxml.jackson.databind.ObjectMapper; import com.monkeylessey.constant.HttpStatusConstants; import com.monkeylessey.response.ResponseData; import org.springframework.http.MediaType; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.stereotype.Component; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Component public class XpAuthenticationFailureHandler implements AuthenticationFailureHandler { @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { ResponseData error = ResponseData.error("登录失败," + exception.getMessage(), HttpStatusConstants.UNAUTHORIZED); String s = new ObjectMapper().writeValueAsString(error); response.setCharacterEncoding("utf-8"); response.getWriter().print(s); response.setStatus(org.springframework.http.HttpStatus.UNAUTHORIZED.value()); response.setContentType(MediaType.APPLICATION_JSON_VALUE); } }