๐จ Error :
ํ์ฌ์ ์ธ์ฆ ๊ด๋ จ ์๋ฒ๋ฅผ ํ ์คํธ ์คํํ๋ ์ค์ ์ด์ ๊ฐ์ ์๋ฌ๋ฅผ ๋ง๋ฌ๋ค.
ํฌ์คํธ๋งจ์์ ๋ก๊ทธ์ธ ๊ด๋ จ api ํ
์คํธ๋ฅผ ์งํ ์ค์ด์๋๋ฐ ์ ์๋ฌ์ ํจ๊ป ๋ก๊ทธ์ธ์ด ๋์ง ์์๋ค.
๐ค ์์ธ :
Spring Security 4์์๋ ๋ฉ๋ชจ๋ฆฌ ๋ด ์ธ์ฆ์ ์ฌ์ฉํ์ฌ ์ํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ์ฌ์ฉํ ์ ์์์ง๋ง Spring Security 5๋ถํฐ๋ ์ํธ ๊ด๋ฆฌ ํ๋ก์ธ์ค๊ฐ ๋ํญ ๊ฐํธ๋์ด ์ํธ์ ์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ ์ ์์ ์ ์ํ ๋ฉ์ปค๋์ฆ์ด ๋์ ๋์๋ค. ํ์ฌ์ ์ด์ ๋ฒ์ ํ ์คํธ ๋ฐ์ดํฐ์๋ ์ด์ ๊ฐ์ ์ํธํ ๋ฉ์ปค๋์ฆ ๊ณผ์ ์ด ๋๋ฝ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋ฌธ์ ์๋ค.(Spring Security 4๊ฐ ์ฌ์ฉ๋ ์๋ฒ์์ ์ํธํ ์ธ์ฝ๋ฉ์ด ๋ ๋ฏ)
๐ ํด๊ฒฐ :
update ํ
์ด๋ธ๋ช
set PASSWORD = concat('{noop}' , PASSWORD)
์ ํํ ์ค๋ช ํ๋ฉด Spring Security 5๋ถํฐ๋ ์ธ์ฝ๋ฉ ๋ ์ํธ ์์ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ ์ํธํ ๋ฐฉ์์ด {bcrypt}, {sha256} ๋ฑ๊ณผ ๊ฐ์ด ์๋ณ์๋ก ๋ถ๋๋ค.(์ฐธ๊ณ ๋ก ์ธ์ฝ๋ฉ์ ์ฌ์ฉ๋ ์ํธํ ๋ฐฉ์์ ์ ์ ์์ ๊ฒฝ์ฐ์๋ {noop}๊ฐ ๋ถ๋๋ค.)
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ ์ฅ๋ ๊ณผ๊ฑฐ ํ
์คํธ ๋ฐ์ดํฐ์๋ ์ด๋ฌํ ๊ณผ์ ์ด ์์์ผ๋ฏ๋ก ์๋ณ์ ๊ฐ์ด ์๋ ์ฑ๋ก ์ ์ฅ๋์ด์์๋ค. ์ธ์ฝ๋ฉ ๋์ด ์ ์ฅ๋ ๋ชจ๋ ํจ์ค์๋ ๋ฐ์ดํฐ์ CONCAT({noop}, password)๋ฅผ ์ด์ฉํ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค ๋ชจ๋ ํจ์ค์๋ ๋ฐ์ดํฐ ์์ {noop}๋ถ์ด๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค.
์ฐธ๊ณ ๋ก ํ์ฌ์์ ์ฌ์ฉํ ์ํธํ ๋ฐฉ์์ {์ํธํ ๋ฐฉ์}์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ํด์คฌ์ ๋์๋ ๊ฐ์ ์๋ฌ๊ฐ ๋๋ ๊ฒ์ผ๋ก ๋ณด์ ๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ๋ ์ ์ฅ๋ ์ํธํ ๋ฐฉ์์ ์ ์ด๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ํธํ๋ ๊ฒ์ธ์ง Spring Security๊ฐ ์ธ์์ ๋ชปํ๋ ๋ฏ์ถ๋ค.
๐ค ์๋ฌธ์ :
์์!
์ฐธ๊ณ