[์ด๊ธ] ์ฐ์ด๋จน์! ์ฝํ๋ฆฐ๊ณผ Spring Security + JWT๋ก ํ์๊ฐ์ ๋ง๋ค๊ธฐ
Spring Security์ JWT ์ค์ต์ ํตํด ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ณ ๊ฐ๋จํ๊ฒ ์ฐ์ด๋จน์ด ๋ณด์ธ์.
์๊ฐ์ 2,266๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
validation ์ถ๊ฐํ๊ธฐ์ ๋ํด ์ง๋ฌธ
์๋ ํ์ธ์ validation ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ง๋ฌธ ๋๋ฆฝ๋๋ค. ๊ฐ์ ์์์ ์ค๋ช ํ์ ๋๋ก ํ๊ณ postman์์ ์คํ์ ํ๋ ค๊ณ ๋ณด๋ ๋์์ ํ๋๋ฐ ๋น๋ฐ๋ฒํธ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์๋ defaultMessage๊ฐ ๋จ์ง์๊ณ ํ์๊ฐ์
kotlinspring-bootjpaspring-securityjwtsyoon
ใป
์ผ ๋ ์
0
95
1
- ๋ฏธํด๊ฒฐ
๋ก๊ทธ์ธ ํ Token ๋ฐํ ์ postman ์๋ฌ๋ฉ์์ง
<img src="https://cdn.inflearn.com/public/files/posts/fc96b9d0-81ab-44df-b284-ae6f7fed9a3c/f488a64b-2440-4d55-9a51-0f99fabe7d85.png" media-type="img"
kotlinspring-bootjpaspring-securityjwtsoojinkimss
ใป
0
141
1
- ๋ฏธํด๊ฒฐ
unique ์์ฑ๋ฒ
@Table ์ ๋ ธํ ์ด์ ์ ์จ์ unique ๋ฅผ ์ค์ ํ์ จ๋๋ฐ,@Column(unique = true) ๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์์ผ์ ์ด์ ๊ฐ ์๋์??
kotlinspring-bootjpaspring-securityjwt์ํธ์ฑ
ใป
0
143
1
- ๋ฏธํด๊ฒฐ
4.1 ๋ง์ง๋ง ํ์๊ฐ์ ์คํ๋์ง๋ง ๋นํ๋ฉด ๋ธ
<img src="https://cdn.inflearn.com/public/files/posts/cb9f18a3-81e7-411b-b53b-390e894eda14/df7a5553-6d5f-454e-b4ba-61f55726ba34.png" media-type="img"
kotlinspring-bootjpaspring-securityjwt์ดํ์
ใป
0
205
3
- ๋ฏธํด๊ฒฐ
4.1๊ฐ ๋ง์ง๋ง ํ์๊ฐ์ ์คํ
<img src="https://cdn.inflearn.com/public/files/posts/49c787a5-9af2-4363-9881-e2271019398b/72fca6ee-7652-4344-aab6-405d40954837.png" media-type="img"
kotlinspring-bootjpaspring-securityjwt์ดํ์
ใป
0
146
1
- ๋ฏธํด๊ฒฐ
2.4๊ฐ์์ 1:18์ด์ฏค์ <T>๋ฅผํ๊ณ ๋ญ๊ฐ ์ถ๊ฐํ๋ ์์
์ด๋ค ์์ ์ ํ ๊ฒ์ด๊ณ ๋จ์ถํค๊ฐ ๋ฌด์์ธ์ง ๊ถ๊ธํฉ๋๋ค
kotlinspring-bootjpaspring-securityjwt์์ฑ์ ์์
ใป
0
169
2
- ๋ฏธํด๊ฒฐ
class ์ data class
์๋ ํ์ธ์ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค.class ์๋ setter ์ getter ๋ฅผ ์์ฑํ์ง ์๊ณ data class ์๋ var ๋ก ๋ฐ์๊ฒฝ์ฐ setter ์ getter ๊ฐ ์์ฑ๋๋ฉด ์ด์ธ์ ๋ค๋ฅธ ๋ฉ์๋ค๋ ์๋์ผ๋ก ์์ฑ์ด ๋๋ค๊ณ ํ์ จ์ต๋๋ค.</
kotlinspring-bootjpaspring-securityjwtSJ
ใป
0
176
1
- ๋ฏธํด๊ฒฐ
ํ ํฐ์์ ์์ธ ๋ฐ์์ ์ฒ๋ฆฌ
์๋ ํ์ธ์ ๊ฐ์ฌ๋, ์ข์ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค.๋ฐ๋ผํ๋ ์ค ํ ํฐ์ ์๋ชป ์ ๋ ฅํ์ ๊ฒฝ์ฐ 403 Forbidden ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด ์๋ฌ์ ๊ฒฝ์ฐ๋ RestControllerAdvice ์์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋๊ฑด๊ฐ์??์ด
kotlinspring-bootjpaspring-securityjwt๋ ๋ฆฌ
ใป
0
233
1
- ํด๊ฒฐ
์๋ ํ์ธ์ ์ ์๋ rememberme ์ง๋ฌธ๋๋ฆฝ๋๋ค..!
์คํ๋ง ์ํ๋ฆฌํฐ + JWT ๋ฅผ ์ฌ์ฉํ API ์๋ฒ์์ ํ๋ก ํธ(๋ฆฌ์กํธ)์๋ค๊ฐ ํ์ ๋ก๊ทธ์ธํ ๋ ์๋ ๋ก๊ทธ์ธ์ ์ ํํ๋ฉด ์๋ ๋ก๊ทธ์ธ์ด ๋๋๋ก ์ํํ๊ณ ์ถ์ต๋๋ค. ๋ฌธ์ ๋ ์ธ์ ์ ๋นํ์ฑํํ ์ํ์์ ์๋ ๋ก๊ทธ์ธ ์ ์ง๋ฅผ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ ๊น์...?
kotlinspring-bootjpaspring-securityjwtoptional94
ใป
0
236
1
- ๋ฏธํด๊ฒฐ
Next Lv ๊ฐ์์ ๋ํด์ ๊ณํ์ค์ด์ ๊ฒ ์์๊น์?
LDAP๋ OAuth2๋ ๋ค๋ฅธ๊ฑฐํ๊ณ ์ฐ๋ํ๋๊ฑฐ๋๊น ํจ์คํ๊ณ .. Method Security(PreAuthorize, PostFilter, etc...)Role HierarchyLow Level Securi
kotlinspring-bootjpaspring-securityjwt๋ณดํค
ใป
0
279
1
- ๋ฏธํด๊ฒฐ
ํ ์ด๋ธ create๋ฌธ
ํ์๊ฐ์ ํ๋๋ฐ java.sql.SQLSyntaxErrorException: (conn=90) Unknown SEQUENCE: 'member_seq' ์ด ์ค๋ฅ ๋๋ฌธ์ ๊ณ์ ๋ฐ์ดํฐ ์ ๋ ฅ์ด ์๋๋๋ฐ ํ ์ด๋ธ create ๋ฌธ ์๋ ค์ฃผ์๊ฑฐ๋ key๊ฐ ์ค์ ์ด๋ป๊ฒ ํ๋์ง ์๋ ค
kotlinspring-bootjpaspring-securityjwtshapa355
ใป
0
179
1
- ๋ฏธํด๊ฒฐ
DTO ์์ฑ ๊ณผ์ ์์ ๊ถ๊ธํ ์ ์ด ์์ด์!!
DTO๋ฅผ ์์ฑํ ๋ ์ฝ๋๊ฐ ๋๋ฌด ๋ง์ด ์์ฑ๋๋๋ฐ ๋ ๊ฐํธํ๊ณ ์ฝ๊ฒ ๋ฒจ๋ฆฌ๋ฐ์ด์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๊น์?
kotlinspring-bootjpaspring-securityjwtํ์ํ์
ใป
0
542
3
- ๋ฏธํด๊ฒฐ
2.5๊ฐ์์ ํฌ์คํธ๋งจ ์ค๋ฅ์ ์ ์ ์ค์ตํ ๋ด์ฉ์ ๋ํด ์ง๋ฌธ ๋๋ฆฝ๋๋ค
๊ฐ์ ๋ด์ฉ์ ์ต๋ํ ๋์น์ง ์๊ณ ๋ค ์์ฑํ ๊ฒ ๊ฐ์๋ฐ ํฌ์คํธ๋งจ์ ๋์ค๋ ๋ด์ฉ์ด ๋ค๋ฆ ๋๋ค..<img src="https://cdn.inflearn.com/public/files/posts/44c6b3e3-c7cc-4151-9865-ae5fbf6e9f51/์คํฌ๋ฆฐ์ท20
kotlinspring-bootjpaspring-securityjwt์์ธ๋ชจ
ใป
0
574
2
- ๋ฏธํด๊ฒฐ
TokenProvider์ Key ๊ด๋ จํ์ฌ ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์, ๊ฐ์ ๋๋ฌด ์ ๋ณด๊ณ ์์ต๋๋ค.`JwtTokenProvider.kt` ์์ฑ ์ค, ๊ถ๊ธํ ๊ฒ์ด ์์ด ์ง๋ฌธ ๋จ๊น๋๋ค. createToken์์ signWith์ ์ฌ์ฉํ๋ key๋ฅผ
kotlinspring-bootjpaspring-securityjwt์ด์ ์
ใป
0
374
1
- ๋ฏธํด๊ฒฐ
์คํ๋ง ์ํ๋ฆฌํฐ ์์ธ RestControllerAdvice๋ก ์ฒ๋ฆฌ
์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๋์ง๋ ์์ธ๋ RestControllerAdvice๋ก ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ฐ๋ก ์ค์ ์ ๋ง์ ธ์ผํ๋๊ฑธ๋ก ์๋๋ฐ ๊ฐ์ฌ๋ ๊ฐ์์์๋ ๋ณ๋ค๋ฅธ ์ค์ ์์ด <img src="https://cdn.inflearn.com/public/files/posts/7938e
kotlinspring-bootjpaspring-securityjwtakskflwn
ใป
0
436
1
- ๋ฏธํด๊ฒฐ
1 : N ํ๋ `memberRole` ์ @OneToMany ์ต์ cascade ๋ฏธ์ฌ์ฉ, ์ปฌ๋์ null ์ด๊ธฐํ ์ ๋ํ ์ง๋ฌธ์ ๋๋ค.
class Member( ... ) { @OneToMany(fetch = FetchType.LAZY, mappedBy = "member") โฌ ๏ธQ1:"cascade ์์ ์ด์ " val memberRole: List<Memb
kotlinspring-bootjpaspring-securityjwtTruestar
ใป
0
396
2
- ๋ฏธํด๊ฒฐ
loginId๋ ์ ๋ณ๊ฒฝ์ด ์๋ ๊น์?
๊ธฐ์กด์ ์๋ ์ ๋ณด๋ฅผ ์ญ์ ํ๊ณ ์๋ก ์ถ๊ฐํ ๊ฒฝ์ฐ์ ์ ๋์ํ๋๋ฐ๊ฐ์์ ๊ฐ์ด ์ ๋ฐ์ดํธํ ๋ loginId ๋ณ๊ฒฝ์ด ์๋๋ค์..!
kotlinspring-bootjpaspring-securityjwtjjang9
ใป
0
407
1
- ๋ฏธํด๊ฒฐ
memberRoleํ๋ ์ง๋ฌธ์ด์~
Member ํด๋์ค์ memberRoleํ๋๋ ์ ํด๋์ค์ ๋ณธ๋ฌธ์ ์ ์ํด์ฃผ๋์?null ์ด๊ธฐํ๋๋ฌธ์ธ๊ฐ์? ํ๋ผ๋ฏธํฐ์์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก null์ ์ค ์ ์์ง ์๋์?
kotlinspring-bootjpaspring-securityjwtjjang9
ใป
0
484
1
- ํด๊ฒฐ
Validation ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๋ฌด๋ฃ ๊ฐ์์์๋ ๊ต์ฅํ ๊ฐ์ ํ๋ฆฌํฐ๊ฐ ๋์ ๊ฒ์ ๊ฐํ์ ํ๋ฉฐ ๋ณด๊ณ ์๋ ์ค์ ๋๋ค. ์ข์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.Validation ์ฒ๋ฆฌ์ ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆด ๊ฒ์ด ์๋๋ฐ์. ๊ฐ์์์ DTO์ ํด๋นํ๋ ํด๋์ค์ ํ๋กํผํฐ์ ๋ฐฑํนํ๋๋ฅผ ์ฌ์ฉํ์๊ณ Custom Gette
kotlinspring-bootjpaspring-securityjwt๋น๊ฐ์ซ์ด์
ใป
1
777
2






