권한 오류 발생 시 500 Error 반환되는 문제

PARK JOOCHANG·2024년 10월 14일
0

문제 상황

권한이 없는 API 요청 시 권한 오류 403이 반환 돼야 되는데 500 error가 발생

해결 과정

  1. 권한 오류가 mvc 계층에서 난 오류여서 GlobalException 핸들러가 security exceptionhandler보다 먼저 exception을 가로채게 돼서 500 error 발생
  2. Global Exception에 AccessDeniedException Handler 추가해줬으나 정상 작동하지 않음
  3. 500 error Handler에서 Security ExceptionHandler를 탈 수 있도록 다시 AccessDeniedException을 던져줌
  4. 그 과정에서 Security 의존성이 필요함을 깨달음
  5. 기존 AccessDeniedException Handler를 다시 보니 다른 라이브러리의 AccessDeniedException.class를 보고 있었음
  6. Security를 굳이 가지 않고 AccessDeniedException Handler 추가하여 해결

해결 포인트

  • Security 의존성 추가..


추가 문제 발생

  • 갑자기 요청에서 CSRF token cannot be found 오류 발생

원인

Spring Security가 의존성에 포함되면 기본적으로 CSRF 보호 기능이 활성화되기 때문

해결 방법

  • security 모듈과 excetpion 모듈을 합쳐, security 의존성을 같이 사용하도록 변경
  • security와 exception 모듈을 분해하여 각 서비스에서 각각 처리하도록 변경

profile
모르면 알고 넘어가자

0개의 댓글

관련 채용 정보