따라서 인증과 관련된 예외 처리를 위해 필터 내에서 예외 발생시 System Exception으로 반환할 수 있도록 변경 해 주었습니다.
Security Filter를 따로 만들어 주고 Security를 위한 커스텀 Handler 및 EntryPoint 클래스를 따로 생성해 줄 수도 있으나, 해당 방법은 불필요하다고 생각 되었습니다.(해당 방법은 하단 참고 레퍼런스 게시글의 첫 번째 글을 참고하시면 됩니다.)
왜냐하면 이미 예외 처리 되어야 할 부분에서 예외를 발생 시키고 있으니 그 부분만 catch 해 주면 되기 때문에 가장 간단한 방법인 필터 내에서 try-catch문으로 처리 해주었습니다.
(좀 더 세심한 예외 처리를 위해서는 첫 번째 방법을 사용하는 것도 나쁘지 않은 방법인 것 같아 보입니다.)
Spring Security에서 토큰을 검증할 경우, Spring Security와 Spring boot의 예외 처리 구간이 다르기 때문에 GlobalExceptionHandler로 처리하지 못합니다.
따라서 인증과 관련된 예외 처리를 위해 필터 내에서 예외 발생시 System Exception으로 반환할 수 있도록 변경 해 주었습니다.
Security Filter를 따로 만들어 주고 Security를 위한 커스텀 Handler 및 EntryPoint 클래스를 따로 생성해 줄 수도 있으나, 해당 방법은 불필요하다고 생각 되었습니다.(해당 방법은 하단 참고 레퍼런스 게시글의 첫 번째 글을 참고하시면 됩니다.) 왜냐하면 이미 예외 처리 되어야 할 부분에서 예외를 발생 시키고 있으니 그 부분만
catch
해 주면 되기 때문에 가장 간단한 방법인 필터 내에서 try-catch문으로 처리 해주었습니다. (좀 더 세심한 예외 처리를 위해서는 첫 번째 방법을 사용하는 것도 나쁘지 않은 방법인 것 같아 보입니다.)참고