본문 바로가기

웹/Spring

Spring Security Architecture 번역 - 1

반응형

Filter Review

스프링 시큐리티의 서블렛 지원은 서블렛 필터들에 기인한다. 그래서 필터들의 역할을 전반적으로 먼저 살펴보면 도움이 된다. 아래 이미지는 한 HTTP 요청을 위한 핸들러들의 전형적인 계층을 보여준다.

 

클라이언트는 앱에 요청을 보낸다. 그리고 컨테이너는 FilterChain을 만든다. 그것은 Filter 인스턴스를 담고 있다. 그리고 서블렛을. 서블렛은 요청 URI의 path에 따라 HttpServletRequest를 진행해야 한다. 스프링 MVC 애플리케이션에서 서블렛은 DispatcherServlet의 인스턴스이다. 대개 하나의 서블렛은 하나의 HttpServletRequest와 HttpServletResponse를 핸들링할 수 있다. 그러나 아래의 경우에 둘 이상의 필터가 쓰일 수 있다.

- 다운스트림 Filter 인스턴스 혹은 Servlet의 호출을 막는다. 이 경우에 Filter는 전형적으로 HttpServletResponse를 적는다.

- 다운스트림 Filter 인스턴스들과 Servlet에 의해 쓰이는 HttpServletRequest 혹은 HttpServletResponse를 수정한다.

Filter의 파워는 그 Filter가 통과하는 FilterChain에서 온다.

Filter가 오직 다운스트림 Filter, Servlet에만 영향을 끼치기 때문에 각 Filter 호출의 순서가 극도로 중요하다.

반응형

' > Spring' 카테고리의 다른 글

HTTP  (0) 2021.04.01
Spring Rest Docs  (0) 2021.03.17
Spring 관련 개념 목록  (0) 2021.02.28
REST API  (0) 2021.02.28