์คํ๋ง ์ํ๋ฆฌํฐ Authentication
Authentication
์คํ๋ง ์ํ๋ฆฌํฐ์ ๋ก๊ทธ์ธ ๊ณผ์ ์์ Authentication์ ์์ฑ์ด ํ์ํ๋ค.
์ ์ฒด ๊ณผ์
์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ ๋ก๊ทธ์ธ์ ์ ์ฒด์ ์ธ ๊ณผ์ ์ด๋ค.(์ถ์ฒ - https://springbootdev.com)
Http Request -> ์์ฒญ
์ฐ์ Http Request์ Method ์ค post ๋ฐฉ์์ผ๋ก ๋ก๊ทธ์ธ ์์ฒญ์ ๋ ๋ฆฐ๋ค.
์ด๋ ๋ก๊ทธ์ธํ๊ณ ์ ํ๋ ์ฌ์ฉ์์ ์์ด๋(User name)์ ๋น๋ฐ๋ฒํธ๊ฐ Post ๋ฐฉ์์ผ๋ก ์ ๋ฌ๋๋ค.
AuthenticationFilter
AuthenticationFilter๊ฐ Post ๋ฐฉ์์ผ๋ก ๋ ๋ผ์จ ์์ฒญ์ ๋ฐ๊ณ ์ด ํํฐ๊ฐ ์์ด๋์ ํจ์ค์๋๋ฅผ ๊ฐ์ง๊ณ ํ ํฐ์ ๋ง๋ ๋ค.
์ด๋ ํ ํฐ์ UsernamePasswordAuthenticationToken
์ด๋ผ๊ณ ํ๋ฉฐ, ์ด ํ ํฐ์ AuthenticationManager
๋ก ๋ณด๋ด์ค๋ค.
AuthenticationManager
UsernamePasswordAuthenticationToken
์ ๊ฐ์ง๊ณ AuthenticationManager
๊ฐ Authentication ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํด ํ ํฐ์ UserDetailsService
๋ก ๋ณด๋ด์ค๋ค.
UserDetailsService
UserDetailsService
๊ฐ ํด๋น ์์ด๋๊ฐ DB์ ์๋์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํด ์ค๋ค.
์ด๋, ํจ์ค์๋๋ ์ธ์ฝ๋ฉ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ฏ๋ก ์คํ๋ง์ด ๋ฐ๋ก ๊ด๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ AuthenticationManager
๊ฐ ํด์ค๋ค.
Authentication ๊ฐ์ฒด
์ด๋ ๊ฒ ํ ํฐ์ ๋ ๊ฐ์ ํ์ธํ ๋ค ์ผ์นํ๋ฉด ์ธ์
์ Authentication
์ผ๋ก ์ ์ฅ์ ํด์ค๋ค.
Authentication
๊ฐ์ฒด๊ฐ ๋ค์ด๊ฐ ์๊ฐ๋ถํฐ ์ธ์
์ ์ํ๋ฆฌํฐ ์ปจํ
์คํธ์ ๊ฐ์ด ๋ค์ด๊ฐ ์ํ์ด๋ฏ๋ก ํ์ํ ๊ณณ์์ ์ฌ์ฉํ ์ ์๋ค.