๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ™‚์ฃผ์ธ์žฅ ํšŒ๊ณ ๋ก

์ฝ”๋“œ์ˆจ ์Šคํ”„๋ง [ 15๊ธฐ ] - 7์ฃผ์ฐจ ํšŒ๊ณ 

by MuGeon Kim 2023. 3. 28.
๋ฐ˜์‘ํ˜•

1.์ด๋ฒˆ ์ฃผ์— ํ•™์Šตํ•œ ๋‚ด์šฉ

  •  Spring Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ๋ฐ ์ธ์ฆ, ์ธ๊ฐ€๋ฅผ ์ ์šฉํ•˜๋ผ.
  • PasswordEncoder
  • AuthenticationFilter

 

2. ์ค‘์ ์ ์œผ๋กœ ํ•™์Šตํ•œ ๋ถ€๋ถ„

1. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ์ „๋ฐ˜์ ์ธ ๋ถ€๋ถ„์„ ํ•™์Šต

2. REST API์˜ Stateless ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.

 

[ Spring ] Stateless REST With CSRF

1. ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ์ด์œ  ๊ธฐ์กด์˜ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„์„ ํ–ˆ์„ ๋•Œ CSRF์ฒ˜๋ฆฌ๋ฅผ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ์ˆจ์—์„œ ์‹œํ๋ฆฌํ‹ฐ ํŒŒํŠธ๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ Rest Api์—์„œ csrf๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š

pos04167.tistory.com

 

3. ๋ฐ˜๋ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ์ธ์ฆ/์ธ๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ

 

[Spring] ํ•„ํ„ฐ(Filter) vs ์ธํ„ฐ์…‰ํ„ฐ(Interceptor) ์ฐจ์ด ๋ฐ Exception์ฒ˜๋ฆฌ

๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ์ด์œ  ํ•„ํ„ฐ์™€ ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ณตํ†ต์ ์ธ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ฐจ์ด์— ๋Œ€ํ•ด ์ƒ๊ฐ์„ ํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๊ณ ์ƒ์„ ํ•ด

pos04167.tistory.com

4. ์•”ํ˜ธํ™”์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํ•˜๊ฒŒ ๊ณต๋ถ€

 

์•”ํ˜ธํ™” Bcrypt์— ๋Œ€ํ•œ ์‹ฌ์ธต ๋ถ„์„

๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ์ด์œ  ์•”ํ˜ธํ™”๋Š ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•„์ˆ˜๋กœ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์›๊ฐ€์ž…์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•”ํ˜ธํ™”๋ฅผ ํ•„์ˆ˜๋กœ ์ง„ํ–‰์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ Bcrypt๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ

pos04167.tistory.com

 

3. ์ด๋ฒˆ ์ฃผ ์ž์•„์„ฑ์ฐฐ

์ด๋ฒˆ ์ฃผ์— ๊ณผ์ œ ์ „ํ˜•๊ณผ ๋ฉด์ ‘์„ ๋ณด๋ฉด์„œ ์ •์‹ ์„ ์ฐจ๋ ค๋ณด๋‹ˆ 2~3์ผ์ด ์ง€๋‚˜๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋นจ๋ฆฌ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ํฌ์ŠคํŒ…๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ธฐ์กด์— ํ”„๋กœ์ ํŠธ์—์„œ ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ๋‹ด๋‹นํ•ด์„œ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์ด ์žˆ์—ˆ์ง€๋งŒ ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ์ด ๋„ˆ๋ฌด ๋งŽ์•˜๋‹ค. ์ง€๊ธˆ์€ ์ด ๋ถ€๋ถ„์— ์‹ ๊ฒฝ์„ ๋งŽ์ด ์“ธ ์ˆ˜ ์—†์–ด์„œ ๋„˜์–ด๊ฐ€์ง€๋งŒ ์ฒœ์ฒœํžˆ ๊ด€๋ จ ํ‚ค์›Œ๋“œ๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ๋ฅผ ํ†ตํ•˜์—ฌ ํ•™์Šตํ•  ์ƒ๊ฐ์ด๋‹ค.

 

๋ฐ˜์‘ํ˜•