Spring Boot18 [Spring Security] JWT Tutorial (2) Security ์ค์ , Data ์ค์ - 401 unauthorized ํด๊ฒฐ์ ์ํ Security ์ค์ - Datasuorce, JPA ์ค์ - Entity ์์ฑ - H2 Console ๊ฒฐ๊ณผ ํ์ธ SecurityConfig ํด๋์ค ์์ฑ config ํจํค์ง ๋ด์ ์์ฑ package com.oliviarla.tutorial.config; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web... 2022. 4. 28. [Spring Security] JWT Tutorial (1) JWT ๊ฐ๋ , ํ๋ก์ ํธ ์์ฑ JWT JSON ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์ ํ ํฐ ์์ฒด์ ์ ๋ณด๋ค์ ์ ์ฅํ๊ณ ์๋ Web Token - ๊ตฌ์ฑ Header: signature๋ฅผ ํด์ฑํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ๋ณด ์ ์ฅ Payload: ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ์์คํ ์์ ์ค์ ๋ก ์ฌ์ฉ๋ ์ ๋ณด๋ค์ ๋ํ ๋ด์ฉ ์ ์ฅ Signature: ํ ํฐ์ ์ ํจ์ฑ ๊ฒ์ฆ์ ์ํ ๋ฌธ์์ด - ์ฅ์ ์ค์์ ์ธ์ฆ์๋ฒ, ๋ฐ์ดํฐ ์คํ ์ด์ ๋ํ ์์กด์ฑ ์์, ์์คํ ์ํ ํ์ฅ ์ ๋ฆฌ Base64 URL Safe Encoding์ ์ฌ์ฉํด URL, Cookie, Header์์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ - ๋จ์ Payload์ ์ ๋ณด๊ฐ ๋ง์์ง๋ฉด ๋คํธ์ํฌ ์ฌ์ฉ๋ ์ฆ๊ฐ -> ๋ฐ์ดํฐ ์ค๊ณ ๊ณ ๋ ค ํ์ ํ ํฐ์ด ๊ฐ ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๋ฏ๋ก ์๋ฒ์์ ๊ฐ ํด๋ผ์ด์ธํธ์ ํ ํฐ ์กฐ์ ๋ถ๊ฐ dependencies ์ค์ intell.. 2022. 4. 28. [์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ] 10. Spring Boot์ Spring Security ์ฐ๋ (2) 3. ํ๋ก์ ํธ๋ฅผ ์ํ JPA ์ฒ๋ฆฌ 4. ์ํ๋ฆฌํฐ๋ฅผ ์ํ UserDetailsService 5. Controller์์ ์ฌ์ฉ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ 3. ํ๋ก์ ํธ๋ฅผ ์ํ JPA ์ฒ๋ฆฌ ClubMember: ์ํฐํฐ ํด๋์ค ClubMemberRole: ์ํฐํฐ enum ํด๋์ค ClubMemberRepository: repository ์ธํฐํ์ด์ค ClubAuthMemberDTO: DTO ํด๋์ค(์คํ๋ง ์ํ๋ฆฌํฐ์ User ํด๋์ค๋ฅผ ์์ํจ) ClubUserDetailsService: service ํด๋์ค, AuthenticationManager๊ฐ ๋ด๋ถ์ ์ผ๋ก ํธ์ถํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ๊ฐ์ ธ์ค๋ ํด๋์ค (UserDetailsService ์ธํฐํ์ด์ค ์์ํจ) User: ์คํ๋ง ์ํ๋ฆฌํฐ์์ ์ฌ์ฉํ๋ ํ์, ๊ณ์ ์ ๋ํ ์ฉ์ด usernam.. 2022. 4. 22. [์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ] 10. Spring Boot์ Spring Security ์ฐ๋ (1) 1. ์คํ๋ง ์ํ๋ฆฌํฐ ํ๋ก์ ํธ ์์ฑ 2. ์คํ๋ง ์ํ๋ฆฌํฐ ์ปค์คํฐ๋ง์ด์ง - ์คํ๋ง ์ํ๋ฆฌํฐ์์ ์ ๊ณตํ๋ ๋ก๊ทธ์ธ ์ฒ๋ฆฌ ๋ฐฉ์ ์ดํด - JPA์ ์ฐ๋ํ๋ ์ปค์คํ ๋ก๊ทธ์ธ ์ฒ๋ฆฌ - Thymeleaf์์ ๋ก๊ทธ์ธ ์ ๋ณด ํ์ฉํ๊ธฐ 1. ์คํ๋ง ์ํ๋ฆฌํฐ ํ๋ก์ ํธ ์์ฑ Dependencies ์ถ๊ฐ Selected Dependencies Spring Boot DevTools Lombok Spring Web Spring Security Thymeleaf Spring Data JPA security - Spring Security ํญ๋ชฉ ํฌํจํ์ฌ ํ๋ก์ ํธ ์์ฑ JDK Version: 11 Java Version: 11 build.gradle์ ํ์ฅ ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ implementation group: 'org.mariadb.jdbc.. 2022. 4. 19. [์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ] 7. M:N ๊ด๊ณ์ ์ค๊ณ์ ๊ตฌํ 1. M:N ๊ด๊ณ์ ํน์ง ์ํ์ ํ์ ๋งคํ ํ ์ด๋ธ JPA์์ M:N ์ฒ๋ฆฌ 2. ํ๋ก์ ํธ ์์ฑ ์ํฐํฐ ํด๋์ค ์ค๊ณ 3. M:N Repository์ ํ ์คํธ Repository ์์ฑ ํ์ด์ง ์ฒ๋ฆฌ๋๋ ์ํ๋ณ ํ๊ท ๋ณ์ / ๋ฆฌ๋ทฐ ๊ฐ์ ๊ตฌํ๊ธฐ ํน์ ์ํ์ ๋ชจ๋ ์ด๋ฏธ์ง์ ํ๊ท ๋ณ์ /๋ฆฌ๋ทฐ ๊ฐ์ ํน์ ์ํ์ ๋ชจ๋ ๋ฆฌ๋ทฐ์ ํ์์ ๋๋ค์ ํ์ ์ญ์ ๋ฌธ์ ์ ํธ๋์ญ์ ์ฒ๋ฆฌ 1. M:N ๊ด๊ณ์ ํน์ง ๋ ผ๋ฆฌ์ ์ธ ์ค๊ณ์ ์ค์ ํ ์ด๋ธ์ ์ค๊ณ๊ฐ ๋ค๋ฅด๊ฒ ๋๋ค๋ ํน์ง์ด ์์ ์ํ์ ํ์ ํ์: ์ฌ๋ฌ ํธ์ ์ํ๋ฅผ ํ๊ฐ ์ํ: ํ ํธ์ ์ํ์ ์ฌ๋ฌ ํ์์ด ์กด์ฌ ์ํ๋ฒํธ ์ํ ์ด๋ฆ ํ์ 1 ํ์ง a, b 2 ์ธํฐ์คํ ๋ผ b, c, d 3 ์๋ํ ๊ฐ์ธ ๋น a, c ์์ ๊ฐ์ด ํด๋น ์ํ์ด ์ฌ๋ฌ ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ ๊ฒ์ ๊ณ ์ ๋ ์์ ์นผ๋ผ์ผ๋ก ํํํ๊ณ ์์ง.. 2022. 4. 6. [์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ] ์ด ์ฑ ์ ์ฝ๊ธฐ ์์ํ ์ด์ http://www.yes24.com/Product/Goods/96051853 ์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ - YES24 ‘์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ข ๋ ๊ฐ๋จํ ์ฌ์ฉํ ์๋ ์์๊น?’์ด ์ฑ ์ ์์์ ์์ ์ง๋ฌธ์์ ์์ํ๋ค. ์ข ๋ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๋ฉด์ ์คํ๋ง ํ๋ ์์ํฌ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋ ์คํ๋ง ๋ถํธ๋ www.yes24.com ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์คํ๋ง ๋ถํธ ๊ฐ์ข๋ ์ฑ ์ด ๊ธฐ๋ณธ์ ์ธ CRUD๊น์ง๋ง ๋ค๋ฃจ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ ํ๊ณ๊ฐ ๋ง์ด ์ฐพ์์๋ค. ํ์ฌ ํ๋ก์ ํธ์ ๋๊ด์ ๋ฌผ๊ฑด์ ๋ํ ํ์ ํ๊ท ๊ณผ ๋ฆฌ๋ทฐ์๋ฅผ ์ป์ด๋ด ๋ฌผ๊ฑด์ ์ ๋ ฌํ๋ ๋ถ๋ถ์ด์๋ค. ๊ทธ๋์ ์ ๋ง ๋ง์ด ๊ตฌ๊ธ๋ง์ ํ์ง๋ง ๋ง์กฑํ๋ ๋ต์ ๋ชป์ฐพ๋ ์์ค ์ด ์ฑ ์ ๋ฐ๊ฒฌํ๊ฒ ๋์๋ค. ์ด ์ฑ ์ ์ฝ์ผ๋ฉด์ ๋ด๊ฐ ๊ฒช์ ๋๊ด์ ๋.. 2022. 4. 6. ์ด์ 1 2 3 ๋ค์