Intro::
Spring Security ์ ๋ํด ์์๋ณด์.
Spring Security๋?
์คํ๋ง ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณด์(์ธ์ฆ๊ณผ ์ธ๊ฐ)๋ฅผ ๋ด๋นํ๋ ํ๋ ์์ํฌ
์คํ๋ง ์ํ๋ฆฌํฐ๋ ํํฐ(Filter) ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ์คํ๋ง MVC์ ๋ถ๋ฆฌ๋์ด ๊ด๋ฆฌ ๋ฐ ๋์ํฉ๋๋ค.
ํํฐ(Filter)๋ Dispatcher Servlet์ผ๋ก ๊ฐ๊ธฐ ์ ์ ์ ์ฉ๋๋ฏ๋ก ๊ฐ์ฅ ๋จผ์ URL ์์ฒญ์ ๋ฐ์ง๋ง, Interceptor๋ Dispatcher์ Controller ์ฌ์ด์ ์์นํฉ๋๋ค.
Client โ Filter โ Dispatcher Servlet โ Interceptor โ Controller
๊ธฐ๋ฅ
1.
์ธ์ฆ(Authentication): ์ฌ์ฉ์๊ฐ ๋๊ตฌ์ธ์ง ํ์ธํ๋ ๊ณผ์ ์
๋๋ค. ์คํ๋ง ์ํ๋ฆฌํฐ๋ ํผ ๊ธฐ๋ฐ ๋ก๊ทธ์ธ, LDAP, JSON Web Token, OAuth2 ๋ฑ ๋ค์ํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ง์ํฉ๋๋ค.
2.
๊ถํ ๋ถ์ฌ(Authorization): ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์ํํ ์ ์๋ ์์
์ ๊ฒฐ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํน์ ์ญํ ์ ๊ฐ์ง ์ฌ์ฉ์๋ง์ด ํน์ ์์์ ์ ๊ทผํ ์ ์๋๋ก ์ ํํ ์ ์์ต๋๋ค.
3.
CSRF(Cross-Site Request Forgery) ๋ณดํธ: ์น ์ ํ๋ฆฌ์ผ์ด์
์ CSRF ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค. ์คํ๋ง ์ํ๋ฆฌํฐ๋ ์ด๋ฅผ ์ํ ํ ํฐ ๊ธฐ๋ฐ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
4.
์ธ์
๊ด๋ฆฌ: ์ธ์
๊ณ ์ , ์ธ์
๋ง๋ฃ, ๋์ ์ธ์
์ ์ด ๋ฑ ์ธ์
์ ๋ณด๋ค ์์ ํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
5.
HTTPS ๊ฐ์ ์ฌ์ฉ: ๋ณด์์ด ํ์ํ ํ์ด์ง์ ๋ํด HTTPS ํ๋กํ ์ฝ์ ๊ฐ์ ๋ก ์ฌ์ฉํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.