본문 바로가기
IT Study/SpringBoot

Spring Security (2)

by Irwin-Kr 2025. 4. 11.

SecurityFilterChain 개요

👉 FilterChainProxy에서 현재 요청의 호출을 위한 Spring Security Filter 요소를 결정하는데 사용

👉 FilterChainProxy에 등록되는 전형적인 Bean의 SecurityFilter

SecurityFilterChain의 구성도

SecurityFilterChain 장점

🙌 !!!의사항 !!! 🙌

Servlert container나 DelegatingFilterProxy에 직접 등록시 제공된다라는 것을 염두해주자.

 

☝️모든 Servlet 지원에 시작점 제공 

Spring Security의 Serlvet 지원 문제해결에 FilterChainProxy의 디버그 지점을 추가

 

✌️작업 수행에 필수적

 ex1). 메모리 누수 예방으로 SecurityContext를 지운다.

ex2). 어느 공격에 대비한 Spring Security의 HtpFirewall을적용해 응용프로그램 보호.

 

🤟호출시 유연한 결정 제공.

Sevlet Container의 Filter 요소는 단일 URL 기반으로 호출

반면에 FilterChainProxy는 RequestMatcher interface로 HttpServletRequeset 기반 호출을 결정.

 

 

다중 SecurityFilterChain 요소

 

위 도표에서 FilterChainProxy는 어떤 SecurityFilterChain을 사용할 것인지 결정한다.

즉, SecurityFilterChain에서 일치하는 것을 호출하는 것이다.

 

 

👉 일치하는 URL 요청에 따른 호출 순서 👈

🚀 Client의 '/api/messages/'의 URL 요청
1️⃣ 처음에 있는 SecurityFilterChain₀의 패턴부터 일치 확인
2️⃣ 일치하면 해당 SecurityFilterChain을 호출

 

 

👉 일치하는 URL 요청이 없는 호출 순서 👈

🚀 Client의 '/messages/'의 URL 요청
1️⃣ 처음의 SecurityFilterChain₀의 패턴부터 일치 확인
2️⃣ 어느것도 SecurityFilterChain 요소와 일치하는게 없으면 SercurityFilterChainₙ을 호출

 

 

중요한 것은 각각의 SecurityFilterChain은 고유하고 단독적으로 구성되는 점이다.

위 도표의 SecurityFilterChain₀은 3개, SecurityFIlterChainₙ은 4개로 구성되는 것을 보면 된다.

실제로 응용프로그램이 Spring Security의 요청을 무시하려면, SecurityFilterChain이 Security Filter 요소가 없으면 된다.

 

다음엔 Security FIlter에 대해 알아보자.

 

 

Architecture :: Spring Security

The Security Filters are inserted into the FilterChainProxy with the SecurityFilterChain API. Those filters can be used for a number of different purposes, like exploit protection,authentication, authorization, and more. The filters are executed in a speci

docs.spring.io

 

'IT Study > SpringBoot' 카테고리의 다른 글

Spring Security 인증 구조 - 2  (0) 2025.06.28
Servlet 인증 구조  (2) 2025.06.14
Spring Security(4)  (1) 2025.05.09
Spring Security(3)  (0) 2025.04.26
Spring Security (1)  (0) 2025.03.28