FilterChainProxy 3

[Spring] Spring Security (4) - Spring Boot 에서의 동작 실습

앞선 글에서 Spring Boot가 어떻게 DelegatingFilterProxy 를 실행하는지 설명하였습니다. 이제 예시를 들어 실제로 FilterChainProxy의 코드가 동작하는지 살펴보겠습니다. SecurityConfig 라는 클래스를 만들어 Spring Security 가 동작하도록 간단하게 설정을 해주었습니다. 필터가 동작하는 경로로 "/foo/**" 를 등록해주었습니다 Controller 도 간단하게만 구성하였습니다. Security에 등록된 경로를 매핑하는 컨트롤러를 하나 만들어주었습니다. 이제 테스트를 돌려 작성한데로 Controller 를 호출하는지와, 동시에 FIlterChainProxy 를 타는지 디버깅으로 실행해보겠습니다. 디버깅을 FilterChainProxy 의 doFilte..

BackEnd/Spring 2022.02.27

[Spring] Spring Security (3) - Spring Boot의 Filter Chain

저번에 Spring Security에서 DelegatingFilterProxy 가 스프링 시큐리티가 생성하는 FilterChainProxy에 필터처리를 위임하고, 이 FilterChainProxy 는 다시 여러필터를 체인 형식으로 갖고 있는 SecurityFilterChain 에 처리를 위임하는 내용을 봤습니다. 그런데, Spring Boot 를 사용하다 보면 이런 설정들을 해준 기억이 없죠. Spring Boot 는 강력한 보일러 플레이트의 기능을 하기 때문에, 이러한 설정들이 사용자에게 보이지 않고 해주는 경우가 많습니다. 그래서 어떤 기능을 제공받고 있는지, 어떤 개념을 이해하고 써야되는지 놓치기 쉽죠. Spring Boot 에서 우리가 Spring Security 를 사용했음에도 Delegatin..

BackEnd/Spring 2022.02.27

[Spring] Spring Security (2) - Spring Security Filter Chain

스프링 시큐리티의 필터 체이닝에 대한 학습. 1. Spring Security Filter Chain 스프링 시큐리티는 서블릿 필터를 기반으로 동작합니다. 스프링 시큐리니는 내부적으로 각 필터가 책임을 갖게 하고, 서비스에 따라 추가/제거 되는 필터 체인을 가지고 있습니다. 네임스페이스 구성을 사용한다면, 내부적으로 FilterChainProxy 객체를 스프링 빈으로 등록하는데, FilterChainProxy는 접근제어, 로그인/로그아웃 등의 보안 관련 서블릿 필터들을 묶어서 실행해주는 기능을 제공합니다. 2. DelegatingFilterProxy 스프링 책을 보다보면 '스프링 시큐리티를 위한 web.xml 설정'이라는 부분에서 DelegatingFilterProxy 라는 부분이 나오는데, 대부분이 넘..

BackEnd/Spring 2022.02.23