본문 바로가기

SpringBoot16

ExceptionTranslationFilter 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 1. ExceptionTranslationFilter ? Spring Security에서 인증/인가 예외 처리 필터입니다. ExceptionTranslationFilter는 SecurityInterceptor와 밀접한 관계가 있습니다. ExceptionTranslationFilter가 try-catch 블록으로 감싼 뒤 SecurityInterceptor를 실행하는 구조. 즉, SecurityInterceptor가 인증/인가 처리를 하는 과정에서 발생하는 예외를 처리합니다. public class ExceptionTranslationFilter extends GenericFilterBean { private AccessDenied.. 2021. 9. 22.
AccessDeniedHandler 개인 공부 목적으로 작성한 포스팅입니다. 아래 출처를 참고하여 작성하였습니다. 1. AccessDeniedHandler란? 인가 처리 과정에서 예외가 발생할 경우 예외를 핸들링하는 인터페이스입니다. e.g. 인증은 성공하였지만, 해당 자원에 접근할 권한이 없는 경우 예외가 발생합니다. ExceptionTranslationFilter가 사용합니다. 2. AccessDeniedHandler 사용방법 2-1. AccessDeniedHandler 인터페이스 구현체 생성 인가 처리 과정에서 예외가 발생한 경우 해당 구현체의 로직을 타게되어, handle 메소드를 실행하게 됩니다. @Component public class JwtAccessDeniedHandler implements AccessDeniedHandl.. 2021. 9. 22.
AuthenticationEntryPoint 개인 공부 목적으로 작성한 포스팅입니다. 아래 출처를 참고하여 작성하였습니다. 1. AuthenticationEntryPoint란 ? 인증 처리 과정에서 예외가 발생한 경우 예외를 핸들링하는 인터페이스입니다. e.g. AuthenticationException(인증되지 않은 요청)인 경우 AuthenticationEntryPoint를 사용하여 처리 ExceptionTranslationFilter가 사용합니다. 2. AuthenticationEntryPoint 사용방법 2-1. AuthenticationEntryPoint 인터페이스 구현체 생성 인증 처리 과정에서 예외가 발생한 경우 해당 구현체의 로직을 타게되어, commence라는 메소드를 실행하게 됩니다. @Component public class E.. 2021. 9. 22.
인터셉터(Interceptor) 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 1. 인터셉터란? Spring이 제공하는 기술로써, 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공합니다. 즉, 웹 컨테이너에서 동작하는 필터와 달리 인터셉터는 스프링 컨텍스트에서 동작을 하는 것입니다. 디스패처 서블릿은 핸들러 매핑을 통해 적절한 컨트롤러를 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain)을 돌려줍니다. 그래서 이 실행 체인은 1개 이상의 인터셉터가 등록되어 있다면 순차적으로 인터셉터들을 거쳐 컨트롤러가 실행되도록 하고, 인터셉터가 없다면 바로 컨트롤러를 실행합니다. 인터셉터는 스프링 컨테이너.. 2021. 9. 22.