본문 바로가기

Spring Framework/SpringSecurity

(3)
[Spring Security] SecurityFilterChain SecurityFilterChain의 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다.  SecurityFilterChain은 FilterChainProxy에 의해서 사용되고,여러 개의 Security Filter들로 구성되어 있습니다. 이 SecurityFilterChain을 통해 보안 처리가 이루어진다고 생각하시면 됩니다.    Security Filter들은 보통 Bean이지만,DelegatingFilterProxy나 Servlet container에 등록되는 대신 FilterChainProxy에 등록됩니다.  이를 통해 얻는 장점이 몇 가지 있습니다.1. Spring Security 디버깅이 편리해집니다.- FilterChainProxy는 모든 스프링 시큐리티 지원의 ..
[Spring Security] DelegatingFilterProxy와 FilterChainProxy DelegatingFilterProxy이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다.  위 그림은 Client의 하나의 HTTP request에 대해서 Filter들을 거쳐 Servlet까지 가는 그림입니다. DelegatingFilterProxy는 이 Filter중 하나입니다.  DelegatingFilterProxy는 스프링에서 제공하는 필터 구현체로서,Servlet 컨테이너와 스프링 IoC 컨테이너의 다리 역할을 합니다. 다리 역할?서블릿 컨테이너는 스프링 IoC 컨테이너에서 관리하는 Bean들에 대해 알지 못합니다.하지만 DelegatingFilterProxy는 스프링 컨테이너에서 Filter를 구현한 Bean(Bean Filter)들을 찾아 등록할 수 있습니다.※ 아래..
[Spring Security] Servlet 기반 어플리케이션 보안의 개요 - FilterChain 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다.  스프링 시큐리티의 Servlet 지원은 Servlet 필터(Filter) 위에서 동작합니다.따라서 필터가 뭔지 아는 것이 먼저입니다. 위의 이미지는 하나의 HTTP request에 대해서 어떻게 처리하는 지 보여줍니다. 만약 클라이언트(Clinet)가 request를 하나 보내면, container에서는 FilterChain을 생성합니다.이 FilterChain에는 여러 개의 Filter들과 하나의 Servlet이 포함되어 있습니다. Spring MVC 어플리케이션에서는 주로 DispatcherServlet의 객체가 Servlet이 됩니다.  이 그림에서 중요한 건 두 가지입니다.첫째, 대부분의 경우 1개의 Servlet이 ..