Spring

[Spring] Spring Security(스프링 시큐리티) ExceptionTraslationFilter, RequestCacheAwareFilter

DAHLIA CHOI 2023. 11. 15. 00:07

🌱 예외

AuthenticationException

인증 예외 처리

  • AuthenticationEntryPoint 호출
    • 로그인 페이지 이동, 401 오류 코드 전달 등
  • 인증 예외가 발생하기 전의 요청 정보를 저장
    • RequestCache : 사용자 이전 요청 정보를 세션에 저장하고 이를 꺼내오는 캐시 메커니즘
    • SavedRequest : 사용자가 요청했던 request 파라미터 값들, 그 당시 헤더 값들 등이 저장

 

AccessDeniedExeption

인가 예외 처리

  • AccessDeniedHandler에서 예외 처리하도록 제공

 

 

👉 이런 예외는 FilterSecurityInterceptor에서 처리하고 이 필터 앞에 있는 필터가 ExceptionTranslationFilter임 그래서 예외가 발생하면 FilterSecurityinterceptor를 상속받고 있는 ExeptionTranslationFilter에서 발생하게 됨

 

 

 

예외처리 API

protected void configure(HttpSecurity http) throws Exception {
	 http.exceptionHandling() 					
		.authenticationEntryPoint(authenticationEntryPoint())     		// 인증실패 시 처리
		.accessDeniedHandler(accessDeniedHandler()) 			// 인증실패 시 처리
}

 

 

 


해당 글은 인프런의 스프링시큐리티-Spring Boot 기반으로 개발하는 Spring Security를 보고 작성한 글입니다.