Filter Chain
์์ฒญ์ Servlet์ผ๋ก ๋ณด๋ด๊ธฐ์ ์ ์ค๊ฐ์ ์์นํ Servlet Filter๋ ์๋ธ๋ฆฟ ์คํ
์ ์ ์๋ ๊ธฐ์ ๋ก ์๋ธ๋ฆฟ ์ปจํ
์ด๋์์ ์คํ๋๊ณ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์คํ๋ง
์์ ๋ง๋ Bean์ด๋ ๊ธฐ์ ์ ์ฌ์ฉํ ์ ๊ฐ ์๋ค.
ํ์ง๋ง, Spring Security๋ Filter ๊ธฐ๋ฐ์ผ๋ก Servlet์ผ๋ก ์์ฒญ์ ์ Filter์์ ๋ณด์์ฒ๋ฆฌ๋ฅผ ์งํํ๊ธฐ ๋๋ฌธ์ ์คํ๋ง ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์๊ฒ๋ ํด์ผํ๋ ์๊ตฌ์ฌํญ์ด ์๊ฒผ๋ค.
DelegatingFilterProxy
Servlet Container ์์ญ
DelegatingFilterProxy
๋ฅผ ์ด์ฉํด์ ์๋ธ๋ฆฟ์์ ๊ด๋ฆฌํ๋ ServletFilter์ด๊ณ ์ด๊ฒ์ด ์คํ๋ง์ด ๊ด๋ฆฌํ๋ Filter(Spring Bean)์๊ฒ ์์ฒญ์ ์์ํ๊ณ ์ด Bean์ด ๊ตฌํํ Servlet Filter์์ Security๋ณด์์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์๋ตํ๋ ๋ฐฉ์์ด๋ค.
ํ๋ง๋๋ก DelegatingFilterProxy
๋ ApplicationContext์์ springSecurityFilterChain
์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ ๋ ๋น์ ์ฐพ์ ์ด ๋น์๊ฒ ์์ฒญ์ ์์ํ๋ proxy์ญํ ์ ํ๋ค.
FilterChainProxy
์คํ๋ง ๋น์ผ๋ก ์์ฑ๋๋ ํด๋์ค๋ก ServletFilter๋ฅผ ๊ตฌํํ ํํฐ ํด๋์ค(Spring Container์ ์์ญ)
์คํ๋ง ์ํ๋ฆฌํฐ ์ด๊ธฐํ ์ ์์ฑ๋๋ ํํฐ๋ค์ ๊ด๋ฆฌํ๊ณ ์ ์ดํ๋ฉฐ ์์ฒญ์ ์์๋ฐ์ ์ค์ ๋ก ๋ณด์์ ์ฒ๋ฆฌํ๋ ํด๋์ค๋ก ์ด๋ SecurityFilterChain
์๊ฒ ์์ํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
์ฌ์ฉ์์ ์์ฒญ์ ํํฐ Chain์์๋๋ก ํธ์ถํด์ ์ ๋ฌํ๊ณ ๋ง์ง๋ง ํํฐ๊น์ง ์์ธ๊ฐ ๋ฐ์ํ์ง ์์์๋ ๋ณด์์ด ํต๊ณผ๋๊ณ DispathcerServlet์๊ฒ ์์ฒญ์ ์ ๋ฌํ๋ค.
Last updated