스프링 공부나 프로젝트를 하면서 거의 기본적으로 들어갔던 기능인 Spring Security에 대해서 한번 싹 정리를 해보려한다.
반드시 인증 후에 진행되어야 함.Spring Security는 기본적으로 인증이나 인가의 과정에서 Filter라는 것을 통해서 작업을 진행한다.
따라서, 그전에 서블릿 필터에 대한 개념을 먼저 알고 가자.
javax.servler.Filter 인터페이스를 구현한 JAVA API.
서블릿 필터는 하나 이상의 필터들이 모여 Filter Chain을 형성한다.
Filter Chain 이후에HTTPServlet -> DispatcherServlet 순서로 요청이 전달된다.
더 자세한 개념설명은 서블릿 필터란?을 통해서 익히자.

스프링에서 제공하는 서블릿 컨테이너와 스프링의 ApplicationContext 사이에서 브릿지 역할을 하는 필터.
(❗️하지만 스프링에서 정의한 Bean이 아님❗️)
스프링 시큐리티에서 제공하는 특별한 필터.
FilterChainProxy를 통해 Spring Security에서 제공하는 보안 필터 작업을 수행할 수 있다.
(FilterChainProxy는 DelegatingFilterProxy로 감싸지는 Bean이다.)
위에 설명한 것 외에 더 정확하게 알고 싶다면 스프링 공식문서 - Spring Security Architecture 을 참고하자.