상세 컨텐츠

본문 제목

SpringSecurity [ExceptionTranslationFilter]

SpringSecurity

by 성찬우 2022. 7. 6. 01:07

본문

단어 설명 

  • AccessDeniedException : 인증에 대한 권한 또는 ACL권한이 없어서서 거부된 경우
  • AuthenticationException : 어떠한 이유로든, 인증 객체가 유효하지 않은 경우 던져지는 예외. 스프링 시큐리티 내부에서 인증에 실패하면 기본적으로 이 예외가 발생.

 

 

ExceptionTranslationFilter.class의 설명 

 

필터 체인 내에 던져진 모든 AccessDeniedException 그리고 AuthenticationException 를 처리합니다. 

 

이 필터는 java 예외 그리고 HTTP 응답 간의 다리역할을 제공하기 때문에 필요합니다. 

이것은 오로지 사용자의 인터페이스를 유지함에 필요하다. 

 

이 필터는 실제로 보안 적용을 수행하지 않습니다. 

 

AuthenticationException 가 감지되면 이 필터는 authenticationEntryPoint를 실행합니다. 

이를 통해 

org.springframework.security.access.intercept.AbstractSecurityInterceptor 의 하위 클래스에서 발생하는 인증 실패를 공통적으로 처리가 가능합니다. 

 

AccessDeniedException가 확인되면 필터는 사용자가 익명인지 아닌지 여부를 결정합니다. 

익명의 경우 "authenticationEntryPoint"이 실행되며

아닐 경우 "AccessDeniedHandler" 에게 위임합니다. 

 

기본적으로 필터는 AccessDeniedHandlerIpl 를 사용합니다. 

 

[ To use this filter, it is necessary to specify the following properties: ]

 

authenticationEntryPoint은 AuthenticationException 가 탐지될 경우 인증 프로세스를 시작해야하는 처리기를 나타냅니다. 

 

SSL 로그인을 위해 현재 프로토콜을 http에서 https로 전환할 수도 있습니다.

 

요청 캐시(requestCache)는 인증 프로세스 중에 요청을 저장하는 데 사용되는 전략을 결정합니다.

기본 구현은 "HttpSessionRequestCache"입니다.

 

 

 

 

관련글 더보기

댓글 영역