package com.monkeylessey.framework.security.handler.exception; 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.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author 29443 * @date 2022/4/16 */ @Component public class AuthenticationException implements AuthenticationEntryPoint { @Override public void commence(HttpServletRequest request, HttpServletResponse response, org.springframework.security.core.AuthenticationException authException) throws IOException, ServletException { ResponseData result = ResponseData.error("认证失败", HttpStatusConstants.UNAUTHORIZED); String s = new ObjectMapper().writeValueAsString(result); response.setCharacterEncoding("utf-8"); response.getWriter().print(s); response.setStatus(HttpStatusConstants.UNAUTHORIZED); response.setContentType(MediaType.APPLICATION_JSON_VALUE); } }