Spring Security의 Filter Chain

태규 최·2022년 1월 1일
0

Spring-Security

목록 보기
3/5

스프링에서의 필터와 서블릿에서의 필터

DelegatingFilterProxy?

스프링 시큐리티에서 요청이 들어오면 처음 서블릿 필터를 거치게 된다.

스프링 시큐리티에서 사용하는 필터들은 스프링 빈으로 등록이 되어 있고, 이 빈 객체들은 서블릿 필터에서는 의존이 불가능하기 때문에(서로 컨테이너가 다르다) 이 스프링 시큐리티 필터들을 수행 해 줄 필터가 필요하게 된다.

이 역할을 하는 것이 DelegatingFilterProxy로 서블릿 컨테이너에 등록되어 있다. DelegatingFilterProxy에서는 ApplicationContext에서 FilterChainProxy라는 빈을 찾게 된다.

SecurityFilterChain

FilterChainProxy에서는 springSecurityFilterChain 이라는 디폴트 설정으로 설정된 필터를 찾게 된다.

이 필터 체인을 리스트 형태로 구현 해 놓았고 리스트 순서대로 필터들의 기능을 수행하게 된다.

전체적인 필터 순서들은 다음과 같으며 WebAsyncManagerIntegratioFilter 부터 FIlterSecurityInterceptor 순으로 실행이 된다.

0개의 댓글