๐งถ Spring | Spring Boot/Spring Security
-
์ด๋ฒ ๊ธ์ Spring Security์ JWT๋ฅผ ์ ์ฉํ๋ ๋ฒ์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. Spring Security ๋ฐ JWT์ ๊ดํ ๋ด์ฉ์ ํด๋น ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! ํ๋ฆ ๐ข JWT ํ๋ฆ Spring Security ํ๋ฆ ๐ข ๊ตฌํ ๋ฐฉ์์ ๋ฐ๋ผ ์์ ์ด๋ฏธ์ง์ ํ๋ฆ๊ณผ ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ์ฐธ๊ณ ํ๊ณ ๋ณด์ ์ผ ํฉ๋๋ค. ์ ๋ฐ์ ์ธ ํ๋ฆ ๋ก๊ทธ์ธ ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ID์ Password๋ฅผ ๋ณด๋ด ๋ก๊ทธ์ธ ์์ฒญ ์๋ฒ๋ ID์ Password๋ฅผ DB์ ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฒ์ฆ ํ JWT๋ฅผ ๋ฐ๊ธ ๋ก๊ทธ์ธ ์ฑ๊ณต ์ , Access Token ๋ฐ Refresh Token ๋ฐ๊ธ , Refresh Token์ Redis์ ์ ์ ์ ๋ณด์ ํจ๊ป ์ ์ฅ ๋ก๊ทธ์ธ ์คํจ ์ , ์์ธ ๋ฐ์ API ์์ฒญ ์ ํด๋ผ์ด์ธํธ๋ API ์์ฒญ ์..
Restful ์๋น์ค์ Spring Security + JWT ์ฒจ๊ฐํ๊ธฐ (feat.Redis)์ด๋ฒ ๊ธ์ Spring Security์ JWT๋ฅผ ์ ์ฉํ๋ ๋ฒ์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. Spring Security ๋ฐ JWT์ ๊ดํ ๋ด์ฉ์ ํด๋น ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! ํ๋ฆ ๐ข JWT ํ๋ฆ Spring Security ํ๋ฆ ๐ข ๊ตฌํ ๋ฐฉ์์ ๋ฐ๋ผ ์์ ์ด๋ฏธ์ง์ ํ๋ฆ๊ณผ ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ์ฐธ๊ณ ํ๊ณ ๋ณด์ ์ผ ํฉ๋๋ค. ์ ๋ฐ์ ์ธ ํ๋ฆ ๋ก๊ทธ์ธ ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ID์ Password๋ฅผ ๋ณด๋ด ๋ก๊ทธ์ธ ์์ฒญ ์๋ฒ๋ ID์ Password๋ฅผ DB์ ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฒ์ฆ ํ JWT๋ฅผ ๋ฐ๊ธ ๋ก๊ทธ์ธ ์ฑ๊ณต ์ , Access Token ๋ฐ Refresh Token ๋ฐ๊ธ , Refresh Token์ Redis์ ์ ์ ์ ๋ณด์ ํจ๊ป ์ ์ฅ ๋ก๊ทธ์ธ ์คํจ ์ , ์์ธ ๋ฐ์ API ์์ฒญ ์ ํด๋ผ์ด์ธํธ๋ API ์์ฒญ ์..
2022.10.21 -
์ด์ ๐จ WebSecurityConfigurerAdapter Deprecated ํ์ฐธ ์ ์ SpringSecurity๋ฅผ ์ผ๋ ๊ธฐ์ต์ ๋์ด๋ ค ๋ค์ ์ฌ์ฉํด๋ณด๋ ค๊ณ Configuration ํ์ผ์ ์์ฑํ๋ ์ค WebSecurityConfigurerAdapter๋ฅผ ์์๋ฐ์ผ๋ ค ํ๋๋ฐ Deprecated ๋์๋ค๋ ํ์๊ฐ ๋ด์ต๋๋ค. ์ด ๋ฌธ์ ์ ๊ด๋ จํด์ ์คํ๋ง ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธํด๋ดค๋๋ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ Security ์ค์ ์ ์ฅ๋ คํ๊ธฐ ์ํด์ deprecated ํ๋ค๊ณ ํฉ๋๋ค. ์ด ๊ธ์์๋ ๊ทธ๋ผ ์ด๋ ํ ๋ฐฉ์์ผ๋ก Security Configuration์ ์ค์ ํด์ผํ๋์ง์ ๋ํด์ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ถ๊ฐ์ ์ธ ์์ธํ ๋ด์ฉ์ ์์ ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ โ SecurityFilterChain์..
WebSecurityConfigurerAdapter Deprecated์ ๋ฐ๋ฅธ ๊ถ์ฅ ๋ฐฉ์์ด์ ๐จ WebSecurityConfigurerAdapter Deprecated ํ์ฐธ ์ ์ SpringSecurity๋ฅผ ์ผ๋ ๊ธฐ์ต์ ๋์ด๋ ค ๋ค์ ์ฌ์ฉํด๋ณด๋ ค๊ณ Configuration ํ์ผ์ ์์ฑํ๋ ์ค WebSecurityConfigurerAdapter๋ฅผ ์์๋ฐ์ผ๋ ค ํ๋๋ฐ Deprecated ๋์๋ค๋ ํ์๊ฐ ๋ด์ต๋๋ค. ์ด ๋ฌธ์ ์ ๊ด๋ จํด์ ์คํ๋ง ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธํด๋ดค๋๋ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ Security ์ค์ ์ ์ฅ๋ คํ๊ธฐ ์ํด์ deprecated ํ๋ค๊ณ ํฉ๋๋ค. ์ด ๊ธ์์๋ ๊ทธ๋ผ ์ด๋ ํ ๋ฐฉ์์ผ๋ก Security Configuration์ ์ค์ ํด์ผํ๋์ง์ ๋ํด์ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ถ๊ฐ์ ์ธ ์์ธํ ๋ด์ฉ์ ์์ ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ โ SecurityFilterChain์..
2022.10.20 -
Spring Security ๋? ๐ค ์คํ๋ง ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ๋ด๋นํ๋ ์คํ๋ง ํ์ ํ๋ ์์ํฌ ๊ฐ๋ฐ์๋ค์ด ๋ณด์ ๋ก์ง๋ณด๋ค๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ ์ ์๋๋ก ๋ณด์ ๊ด๋ จ ์ต์ ์ ์ ๊ณตํด์ค๋๋ค. ํน์ง ๐ Servlet Filter ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค. Filter ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ Dispatcher Servlet์ ๋๋ฌํ๊ธฐ ์ ์ ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Session๊ณผ Cookie๋ฐฉ์์ ์ด์ฉํฉ๋๋ค. JWT(Json Web Token) ์ ํ์ฉํ ์๋ ์์ต๋๋ค. ๊ธฐ๋ฅ ๐ฎ ์ฌ์ฉ์ ๊ถํ์ ๋ฐ๋ฅธ URI ์ ๊ทผ ์ ์ด ์ฟ ํค๋ฅผ ์ด์ฉํ ์๋ ๋ก๊ทธ์ธ ํจ์ค์๋ ์ํธํ ๊ธฐํ ๋ณด์ ๊ด๋ จ ์ค์ Authentication๊ณผ Authorization Spring Security๋ ๊ธฐ๋ณธ์ ์ผ๋ก Authentcation ์ ๊ฑฐ์น ํ Au..
Spring Security ๊ธฐ์ดSpring Security ๋? ๐ค ์คํ๋ง ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ๋ด๋นํ๋ ์คํ๋ง ํ์ ํ๋ ์์ํฌ ๊ฐ๋ฐ์๋ค์ด ๋ณด์ ๋ก์ง๋ณด๋ค๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ ์ ์๋๋ก ๋ณด์ ๊ด๋ จ ์ต์ ์ ์ ๊ณตํด์ค๋๋ค. ํน์ง ๐ Servlet Filter ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค. Filter ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ Dispatcher Servlet์ ๋๋ฌํ๊ธฐ ์ ์ ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Session๊ณผ Cookie๋ฐฉ์์ ์ด์ฉํฉ๋๋ค. JWT(Json Web Token) ์ ํ์ฉํ ์๋ ์์ต๋๋ค. ๊ธฐ๋ฅ ๐ฎ ์ฌ์ฉ์ ๊ถํ์ ๋ฐ๋ฅธ URI ์ ๊ทผ ์ ์ด ์ฟ ํค๋ฅผ ์ด์ฉํ ์๋ ๋ก๊ทธ์ธ ํจ์ค์๋ ์ํธํ ๊ธฐํ ๋ณด์ ๊ด๋ จ ์ค์ Authentication๊ณผ Authorization Spring Security๋ ๊ธฐ๋ณธ์ ์ผ๋ก Authentcation ์ ๊ฑฐ์น ํ Au..
2022.10.20