인프런 커뮤니티 질문&답변

김관욱님의 프로필 이미지

작성한 질문수

스프링 시큐리티

1) 위임 필터 및 필터 빈 초기화 - DelegatingProxyChain, FilterChainProxy

FilterChainProxy 궁금한게 있어요

작성

·

562

0

안녕하세요.


스프링 시큐리티 주요 아키텍처 이해 - #01. FilterChainProxy (9:45)에서
"각 필터들은 필터간의 체인으로 다 연결되어 있겠죠" 라고 말씀하시면서 필터간에 짝을 지어주시는 부분이 필터들이 서로 참조하고 있다는 뜻은 아닌거죠?

필터에서 chain.dofilter() 호출하면 VirtualFilterChain에서 다음 필터를 호출해서, 필터들이 연속적으로 호출 되는걸로 이해했는데 헷갈려서요...

체인으로 연결되었다는게 무슨 의미인지 알수있을까요?

답변 2

1

스프링 시큐리티는 서블릿 컨테이너의 필터 방식으로 구성 된것으로 알고 있습니다.

Http 요청 -> WAS -> 서블릿 -> 필터1 -> 필터2 ... -> DelegatingFilterProxy -> 스프링 시큐리티 관련 필터... -> 디스패처 서블릿 -> 인터셉터1 -> 인터셉터2 ... -> 컨트롤러

 

DelegatingFilterProxy의 등장으로 서블릿 컨테이너의 필터 기능을 스프링 컨테이너에서 사용할 수 있게 스프링 빈을 등록할 수 있게 된것으로 알고 있습니다.

1

정수원님의 프로필 이미지
정수원
지식공유자

관욱님이 이해하신 것이 맞습니다

" 필터에서 chain.dofilter() 호출하면 VirtualFilterChain에서 다음 필터를 호출해서, 필터들이 연속적으로 호출 되는걸로 이해했는데" 가 제대로 이해하신 내용이니다.

필터간 호출이 연속적으로 이어진다는 개념입니다.