스프링 시큐리티에서 요청이 들어오면 처음 서블릿 필터를 거치게 된다.
스프링 시큐리티에서 사용하는 필터들은 스프링 빈으로 등록이 되어 있고, 이 빈 객체들은 서블릿 필터에서는 의존이 불가능하기 때문에(서로 컨테이너가 다르다) 이 스프링 시큐리티 필터들을 수행 해 줄 필터가 필요하게 된다.
이 역할을 하는 것이 DelegatingFilterProxy로 서블릿 컨테이너에 등록되어 있다. DelegatingFilterProxy에서는 ApplicationContext에서 FilterChainProxy라는 빈을 찾게 된다.
FilterChainProxy에서는 springSecurityFilterChain 이라는 디폴트 설정으로 설정된 필터를 찾게 된다.
이 필터 체인을 리스트 형태로 구현 해 놓았고 리스트 순서대로 필터들의 기능을 수행하게 된다.
전체적인 필터 순서들은 다음과 같으며 WebAsyncManagerIntegratioFilter 부터 FIlterSecurityInterceptor 순으로 실행이 된다.