콘솔에러 안찍히게
This commit is contained in:
parent
09d656ee5b
commit
352dc770ee
@ -15,8 +15,6 @@
|
|||||||
package io.company.localhost.common.security.handler;
|
package io.company.localhost.common.security.handler;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import io.company.localhost.common.dto.ApiResponse;
|
|
||||||
import io.company.localhost.common.exception.code.UserErrorCode;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@ -26,28 +24,42 @@ import org.springframework.security.web.authentication.AuthenticationFailureHand
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Component("failHandler")
|
@Component("failHandler")
|
||||||
public class MemberAuthFailureHandler implements AuthenticationFailureHandler {
|
public class MemberAuthFailureHandler implements AuthenticationFailureHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException {
|
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException {
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
response.setStatus(HttpServletResponse.SC_OK);
|
||||||
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
|
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
|
||||||
|
|
||||||
ApiResponse<?> res = UserErrorCode.BAD_CREDENTIAL.getApiResponse();
|
Map<String, Object> responseMap = new HashMap<>();
|
||||||
|
responseMap.put("success", false); // 로그인 실패 표시
|
||||||
|
|
||||||
String message = exception.getMessage();
|
String message = exception.getMessage();
|
||||||
|
String errorCode;
|
||||||
|
String errorMessage;
|
||||||
|
|
||||||
if (exception instanceof BadCredentialsException || message.startsWith("NOT_FOUND")) {
|
if (exception instanceof BadCredentialsException || message.startsWith("NOT_FOUND")) {
|
||||||
res = UserErrorCode.USER_NOT_FOUND.getApiResponse();
|
errorCode = "USER_NOT_FOUND";
|
||||||
|
errorMessage = "아이디 또는 비밀번호가 일치하지 않습니다.";
|
||||||
} else if (message.startsWith("NOT_AUTHORIZED")) {
|
} else if (message.startsWith("NOT_AUTHORIZED")) {
|
||||||
res = UserErrorCode.NOT_AUTHORIZED.getApiResponse();
|
errorCode = "NOT_AUTHORIZED";
|
||||||
|
errorMessage = "접근 권한이 없습니다.";
|
||||||
} else if (message.startsWith("EXIT")) {
|
} else if (message.startsWith("EXIT")) {
|
||||||
res = UserErrorCode.EXIT_USER.getApiResponse();
|
errorCode = "EXIT_USER";
|
||||||
|
errorMessage = "탈퇴한 사용자입니다.";
|
||||||
|
} else {
|
||||||
|
errorCode = "BAD_CREDENTIAL";
|
||||||
|
errorMessage = "인증에 실패했습니다.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
responseMap.put("code", errorCode);
|
||||||
|
responseMap.put("message", errorMessage);
|
||||||
|
|
||||||
response.getWriter().write(mapper.writeValueAsString(res));
|
response.getWriter().write(mapper.writeValueAsString(responseMap));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user