목차

위임 필터 및 필터 빈 초기화

**DelegatingProxyChain**, **FilterChainProxy**


DelegatingProxyChain

<aside> 🔔 서블릿 필터에서 서블릿 필터를 구현한 스프링 빈에게 요청을 위임해주는 대리자 역할의 서블릿 필터

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0c2e2bc7-d8a3-4ebd-a336-30b8a3a46abb/DeligatingFilterProxy_1.png

즉, 서블릿 필터에서 요청에 대한 자원의 접근 전/후로 동작을 수행하는데, 서블릿 필터는 서블릿 컨테이너에서 관리되기에 스프링 빈들을 사용할 수 없다. 하지만, 스프링 시큐리티는 모든 요청에 대한 인증및 인가와 같은 보안 처리를 필터 기반으로 처리하고 있는데, 필터에서도 스프링의 기술(스프링 빈)을 사용하고 싶은 요구사항이 생긴다.

그래서 스프링에서도 스프링 빈을 만들어 서블릿 필터로 빈을 구현했는데, 이 스프링 빈이 springSecurityFilterChain이다. 하지만, 위에서도 말했듯이 서블릿 필터에서는 스프링 빈들을 주입하거나 사용할 수 없는데, 이러한 필터와 빈을 연결해줄 수 있는 클래스가 DelegatingFilterProxy이다. 이 클래스는 서블릿 필터인데, 요청을 받아서 스프링에서 관리하는 필터에게 요청을 위임하는 역할을 맡고 있다.

FilterChainProxy

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6cec16cf-caaf-4b98-bb36-08839e9f2240/Untitled.png