현재 버전

ExceptionTranslationFilter 바로 뒤에 FilterSecurityInterceptor 라는 필터가 있습니다. 그 안에서 발생하는 시큐리티 예외를 처리하기 위해 그 위치에 있으며, 의도된 것입니다.

보통 AccessDecisionManager 또는 이번에 새롭게 도입된 AuthorizationFilter에서 발생한 AccessDeniedException, @PreAuthorize, @PostAuthorize 등으로 프록싱된 시큐리티 인터셉터의 시큐리티 오류를 처리합니다.

ExceptionTranslationFilter 범위 밖의 시큐리티 필터는 예외를 던지면 안됩니다. 만약 그런 상황이 발생하는 경우, ErrorController에서 처리하는 것이 일반적입니다.


수정 이력

2022-03-06 23:18:19 에 아래 내용에서 변경 됨 #1

ExceptionTranslationFilter 바로 뒤에 FilterSecurityInterceptor 라는 필터가 있습니다. 그 안에서 발생하는 시큐리티 예외를 처리하기 위해 그 위치에 있으며, 의도된 것입니다.

보통 AccessDecisionManager에서 발생한 AccessDeniedException, @PreAuthorize, @PostAuthorize 등으로 프록싱된 시큐리티 인터셉터의 시큐리티 오류를 처리합니다.

ExceptionTranslationFilter 범위 밖의 시큐리티 필터는 예외를 던지면 안됩니다. 만약 그런 상황이 발생하는 경우, ErrorController에서 처리하는 것이 일반적입니다.