JWT6 Spring Security [2] - ์์ธ ์ฒ๋ฆฌ AuthenticationEntryPoint & AccessDeniedHandler ์ํ๋ฆฌํฐ๋ฅผ ๋์ ํ๋ฉฐ ์ธ์ฆ, ์ธ๊ฐ์ ๊ณผ์ ์ ๋ง์ณค๋ค. ์ด์ ์ธ์ฆ ๋ฐ ์ธ๊ฐ ์์ ์์ ๋ฐ์ํ๋ ์์ธ์ ๋ํด์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ๋๋ฐ, ํ ๊ฐ์ง ์๊ฐํด๋ด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ค. ์คํ๋ง ์ํ๋ฆฌํฐ๋ ํํฐ์ ๊ธฐ๋ฐํ ์ฒด์ด๋ ๊ตฌ์กฐ์ด๋ฏ๋ก, ์คํ๋ง ์ปจํ ์ด๋๊น์ง ์์ฒญ์ด ๋๋ฌํ์ง ์๋๋ค. ๋ฐ๋ผ์, @ExceptionHandler๋ฅผ ํตํ ํธํ ์์ธ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐํ๋ค. ์ง์ Try - catch๋ก ์ก์์ ์๋ต์ ๋ด๋ ค์ฃผ๋ ๋ฐฉ๋ฒ ๋ฐ์ ์๋ค. ํ์ง๋ง, ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๊ทธ๋ ๊ฒ ํ์ ํ์ง ์๋ค. ์ํ๋ฆฌํฐ ํํฐ ์ฒด์ธ์ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ๋ง์ง๋ง ์ฆ์์ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ํํฐ๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฌ๊ธฐ์ ์ฃผ๋ก ์ฌ์ฉํ๋ AuthenticationEntryPoint์ AccessDeniedHandler๋ฅผ ๊ตฌํํด ์ธ์ฆ ๋ฐ ์ธ๊ฐ ๊ณผ์ ์์ ์ผ์ด๋ ์์ธ์ ๋.. 2022. 8. 21. Spring Security [1] - JWT๋ฅผ ์ด์ฉํ REST API ์ธ์ฆ๊ณผ ์ธ๊ฐ ๊ธฐ์กด ์ธ์ฆ์ JWT๋ฅผ ์ด์ฉํ ํํฐ๋ก, ์ธ๊ฐ๋ ์ธํฐ์ ํฐ๋ก ์ ๋ ธํ ์ด์ ์ ์ ์ํด ์์ ๊ตฌํํ์๋ค. ์ด๋ฒ์ ๋ฆฌํฉํฐ๋ง์ ํ๋ฉด์, ์คํ๋ง์ด ์ ๊ณตํ๋ ๋ณด์ ๊ด๋ จ ํ๋ ์์ํฌ์ธ ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํด๋ณด์๋ ๊ฒฐ์ ์ ๋ด๋ ค ๋์ ํ๊ฒ ๋์๋ค. ์ด๋ ต๋ค๊ณ ๋ ์ผํ ๋ค์์ง๋ง, ์ด๋ ๊ฒ ์ค๋ ๊ฑธ๋ฆด ์ค ๋ชฐ๋๋ค. ์ฌ๋ฌ ๋ธ๋ก๊ทธ๋ค์ ์ฐธ์กฐํ๊ณ , ์ ์ฝํ์ง๋ ์๋ ๊ณต์๋ฌธ์๋ค์ ๋ณด์๋ ๋๋ฌด์ง ์ดํด๊ฐ ๊ฐ์ง ์์๋ค. ์ผ๋จ ๋จธ๋ฆฟ์์ ๊ทธ๋ ค์ ธ์ผ ๊ฐ์ด ์กํ๋๋ฐ, ์ด๊ฑด ๋ญ ํํฐ๋ ์ฌ๋ฌ ๊ฐ์ด๋ฉฐ ๊ตฌํ์ฒด๋ ์ ์ด๋ ๊ฒ ๋ง์์ง ๊ทธ์ ๋ง๋ ์ฑ ์๊ณผ ์ญํ ์ด ๋์ ํ ๊ฐ์ด ์ค์ง ์๋๋ค. ์ ๋ถ ์ถ์ํ ๋์ด ์์ด ์ปค์คํ ํด์ ์ฌ์ฉํ๊ธฐ๋ ํธํ๊ฒ ๋์๋ค๋๋ฐ, ์ ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ด์ฉ์ ์ดํดํ๊ธฐ์ ์ฝ์ง ์๊ธฐ๋ ํ๊ณ ๋ฐ๋ก ๊ณต๋ถ๊ฐ ํ์ํ ํ๋ ์์ํฌ๋ผ๊ณ ์๊ฐํ๋ค. ๊ฑฐ์ง 1์ฃผ ๋ฐ์ด ๋์ด์์ผ ๋ด๊ฐ ๊ตฌํํ๊ณ ์.. 2022. 8. 18. ๋ฆฌํฉํฐ๋ง ใAuthentication(์ธ์ฆ)ใ ํ์ด๋์ ์ฒ์ ํ์ฌ์ ์ง์ํ๋ค. ์๋ฅ๋ฅผ ์ฌ๋ฌ ๊ตฐ๋ฐ ๋ฃ์๋ค. ๋ฒ์จ ์๋ฅ ํ๋ฝ๋ง 3๋ฒ์งธ์ด๋ค. ์๋ฅ ํ๋ฝ์ด ์ด๋ฐ ๊ธฐ๋ถ์ด๊ตฌ๋...ใ ใ ํ์ฌ ๊ธฐ์ค์ ๋ถํฉํ์ง ์๋ ๋ด ์ค๋ ฅ๊ณผ ๊ฒฐ๊ณผ๋ฌผ ํ์ด์ง ๋ญ. ๋ ์ด์ฌํ ๋ค๋ฌ์ด์ผ๊ฒ ๋ค. ์๋ฅ๋ฅผ ๋ค๋ฌ๋ค๊ฐ ์ธ์ฆ๊ณผ ์ธ๊ฐ ๊ตฌํ ์ค ์ด์๋ฅผ ์์ฑํ๋ ๋ถ๋ถ์ด ๋์ ๋์๋ค. ์ธ์ฆ๊ณผ ์ธ๊ฐ... ์... ์ธ๊ฐ๋ ์ ๋ ธํ ์ด์ ์ ์ด์ฉํด ์ธํฐ์ ํฐ๋ก ๊ตฌํํ ๋ช ํํ ๊ทผ๊ฑฐ๊ฐ ์์๋ค. ์ธ์ฆ์ ์ข ์ ๋งคํ๋ค. JWT ํ ํฐ์ ์ธ์ฆํ๋ ๋ถ๋ถ์ ๊ตณ์ด ์ธํฐ์ ํฐ๊น์ง ๋๋ฌํ ํ์๊ฐ ์๋ค. ๊ทธ๋์ ์ธ์ฆ ์์ ์ ์ธํฐ์ ํฐ์์ ํํฐ๋ก ๋ฆฌํฉํ ๋ง์ ์งํํ๋ค. ํํฐ(Filter)๋? HTTP ์์ฒญ๊ณผ ์๋ต์ ๊ฑฐ๋ฅธ ๋ค ์ ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค. Servlet Container ๋จ์์ ๋์ํ๋ค. ์คํ๋ง ๋ฒ์ ๋ฐ์์ ์ฒ๋ฆฌ๋๋ค. Dispathcer.. 2022. 7. 11. 2022.05.20 ใ์คํ๋ง ๋ถํธ ๊ถํ ์ฒ๋ฆฌใ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ์ค์ด๋ค. jwt๋ฅผ ์ด์ฉํ ์ธ์ฆ์ ๋ค ๋๋ฌ๊ณ ์ธ๊ฐ ์์ ๋ง ๋จ์๋ค. ๋๋ถ๋ถ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํด์ ๊ถํ ์ฒ๋ฆฌ๋ฅผ ํ๋๋ฏํ๋ค. ๋๋ ์ผ๋จ ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ณ ๋ฏผ์ ์ข ๋ง์ด ํด๋ดค๋ค. ๊ฒฐ๋ก ์ ๋ด๋ฆฌ์๋ฉด ์ธํฐ์ ํฐ๋ฅผ ์ด์ฉํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ๊ด๋ฆฌ์์ธ์ง ํ์์ธ์ง ์ธ์ฆ์ด ํ์ํ ์์ ์ด๋ ์ง ์ค๋ณต๋๋ ๋ก์ง์ด ๋๋ฌด ๋ง์์ง๋ฏ๋ก ์ด๊ฒ์ ์ธํฐ์ ํฐ์์ ์ปจํธ๋กค๋ฌ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ์ธ๊ฐ ์์ ์ ํด์ค์ผ ํ๋ ๊ฒ์ด ์ฃผ๋ ์ด์ ๋ค. ํ๋ฒ ํด๋ณด์~ => ์ ๋ฐ์ ์ธ ๊ณํ ์์ฑ ์ค๊ฐ ์ ๋ฆฌ ํผ์ ํ๋ก์ ํธ๋ฅผ ํด์ ์ธ์ง ์๋๊ฐ ๋๋ฌด ๋์ง ์๋๋ค. ์๊ฐ์ ํด๋ณด์๋ค. ์ด๋ ํ ๊ธฐ๋ฅ์ด๋ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ๊ฒ ์ค๊ณํ๊ธฐ ๋๋ฌธ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๊ฐ์ฅ ์๊ฐ์ ๋ง์ด ์์ ๋ถ๋ถ์ Restful ํ ์ค๊ณ ๋ฐฉ์๊ณผ ์ธ์ฆ ์ธ๊ฐ ๋ถ๋ถ์ด๋ค.. 2022. 5. 20. 2022.05.14 ใJWT ์ธ์ฆใ ์ธ์ฆ์ ๊ตฌํํ๊ธฐ ์ํด ๊ธฐ์กด์ ์ฌ์ฉํ๋ Session ๋ก๊ทธ์ธ์ด ์๋ JWT๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆ์ ๊ตฌํํ๋ค. ํ ํฐ์ ์ฒ์ ์ฌ์ฉํ๋ค ๋ณด๋ ์์๊ฐ๋๋ฐ ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค. ๋ฌด์๋ณด๋ค ๋๋ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋ธ๋ฆฟ ํํฐ๋ ์คํ๋ง ์ธํฐ์ ํฐ๋ฅผ ์ด์ฉํด ํ ํฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ๋ ค๊ณ ํ์ด์ ๋ ์ฝ์ง ์์๋ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ ํ๋ก์ ํธ ์ธ์ฆ์์ Session์ ์ฌ์ฉํ์ง ์์ ์ด์ ๋ ์๋ฒ์ ๊ท๋ชจ๊ฐ ํ์ฅ๋ ๋์ ์ธ์ฆ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ธ๋ฐ JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋์ ํ๋ก์ ํธ์ ๋ง๋ ๋จ๊ณ๊ฐ ์ด๋์ธ์ง์ ์๋นํ ํท๊ฐ๋ ธ๋ ํ ์ฃผ์๋ค. ์ธ์ฆ ์์ ์ ํ๋ฉฐ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ ๋ถ๋ถ์ด๋ ๊ตฌํํ ๋ถ๋ถ์ ๋ํด ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ๋ค. Rest API๋ฅผ ์ค๊ณํ ๋ ์ธ์ฆ์ session ๊ธฐ๋ฐ์ด ์๋ ํ ํฐ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒ์ด ๋ restf.. 2022. 5. 14. 2022.05.13 ใSession๊ณผ Token(Jwt) & ์ธ์ฆ๊ณผ ์ธ๊ฐใ ํ์ฌ ์งํ ์ค์ธ ํ๋ก์ ํธ์์ ๋ก๊ทธ์ธ์ ์งํ ์ค์ธ๋ฐ ๊ธฐ์กด์ ๋ก๊ทธ์ธ์ ์ธ์ ์ผ๋ก๋ง ์งํํ์๋ค. ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ ๋ฐฉ์์ ์ฌ๋ฌ ๊ฐ์ง๋ผ๊ณ ๋ฐฐ์ ๋๋ฐ ๊ทธ์ค ์ธ์ ๋ง ์ด์ฉํด๋ดค๊ธฐ ๋๋ฌธ์ ํ ํฐ์ ์ด์ฉํ ์ธ์ฆ ๊ฒฝํ๋ ํ์ํ๋ค๊ณ ์๊ฐ์ ํ๋ค. ๊ทธ์ค ๋ด ์๋น์ค์ ๋ํด ๋ ์๋น์ค ํ์ฅ์ฑ์ ๋ํด ํ์คํ ๋ง๋ ์ธ์ฆ ๋ฐฉ์์ ๊ฒฐ์ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐ์ ํ๊ณ , ์ธ์ ๊ณผ ํ ํฐ์ ์ฌ์ฉ์ฒ์ ๊ฐ๋ ์ ๋ํด ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค. ์ธ์ฆ๊ณผ ์ธ๊ฐ ์ธ์ฆ(Authentication) ์๋น์ค์ ์ฌ์ฉ์๊ฐ ๋ง๋์ง ํ์ธํ๋ ๊ณผ์ ๋๊ฒ ๋ก๊ทธ์ธํ๋ ๊ณผ์ ์ธ๊ฐ(Authorization) ์ธ์ฆ์ด ์๋ฃ๋ ์ฌ์ฉ์์๊ฒ ๋ฆฌ์์ค ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ๋ ์์ ์ก์ธ์ค๊ฐ ํ์ฉ๋ ๋ฐ์ดํฐ ๋ฐ ํด๋น ๋ฐ์ดํฐ๋ก ํ ์ ์๋ ๋ชจ๋ ์์ ์ ์ง์ ํจ HTTP์ ํน์ฑ http๋ stateless.. 2022. 5. 13. ์ด์ 1 ๋ค์ ๋ฐ์ํ