Spring Security

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์˜ ์ธ์ฆ ํ”„๋กœ์„ธ์Šค์— ํฌํ•จํ•œ ์ฃผ ๊ตฌ์„ฑ์š”์†Œ์™€ ์ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„
AuthenticationProvider๋Š” ์ธ์ฆ ๋…ผ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  UserDetailsService๋ฅผ ์ด์šฉํ•ด ์‚ฌ์šฉ์ž ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฉฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด loadUserByUsername(String username) ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค
์Šคํ”ผ๋ง ์‹œํ๋ฆฌํ‹ฐ์˜ ์ธ์ฆ ํ๋ฆ„, ์—ฌ๊ธฐ์—์„œ๋Š” JdbcUserDetailsManager๋ฅผ UserDetailsService ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด์šฉํ•œ๋‹ค. JdbcUserDetailsManager๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•ด ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

์ฃผ ๊ณ„์•ฝ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค

์„ค๋ช…
์„ค๋ช…

UserDetails

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

GrantedAuthority

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชฉ์  ๋‚ด์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ—ˆ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ •์˜ํ•œ๋‹ค(์˜ˆ: ์ฝ๊ธฐ,์“ฐ๊ธฐ,์‚ญ์ œ ๋“ฑ)

UserDetailsService

์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ์ž ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค

UserDetailsManager

UserDetailsService์˜ ๋” ๊ตฌ์ฒด์ ์ธ ๊ณ„์•ฝ์ด๋‹ค. ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์‚ฌ์šฉ์ž ์ปฌ๋ ‰์…˜์ด๋‚˜ ํŠน์ • ์‚ฌ์šฉ์ž๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ๋‹ค

PasswordEncoder

์•”ํ˜ธ๋ฅผ ์•”ํ˜ธํ™” ๋˜๋Š” ํ•ด์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์–ด์ง„ ์ธ์ฝ”๋”ฉ๋œ ๋ฌธ์ž์—ด์„ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ์•”ํ˜ธํ™” ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•œ๋‹ค

Reference

์ฑ…: ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ์ธ ์•ก์…˜

Last updated

Was this helpful?