ExceptionTranslationFilter는 FilterChainProxy를 구성하는 filter중 하나로, 요청을 처리하는 도중 발생할 수 있는 예외에 대한 라우팅과 위임을 처리한다.
FilterSecurityInterceptor와 밀접한 관계가 있는데, 그 이유는 ExceptionTranslationFilter가 try-catch 블록으로 감싼뒤 SecurityInterceptor를 실행하는 구조이고, 이 과정에서 발생하는 에러를 처리하는 필터이기 때문이다.
발생하는 예외는 2가지로 흐름은 다음과 같다.
1. AuthenticdationException
AuthenticdationException은 인증예외이다.
AuthenticationEntryPoint를 사용해 처리한다. 예외 발생 시 로그인을 하도록 redirect된다.
+ 커스터마이징 가능
2. AccessDeniedException
AccessDeniedException은 인가예외이다.
AccessDeniedHandler를 통해 처리한다. 예외 발생시 403 에러 페이지를 보여준다.
+ 커스터마이징 가능
Reference
https://uchupura.tistory.com/22
'Spring > Spring Security' 카테고리의 다른 글
http 에서 https로 전환하기 (0) | 2022.01.11 |
---|---|
AnonymousAuthenticationFilter (0) | 2021.11.15 |