์ผ๋ฐ์ ์ธ id, password๋ฅผ ๊ฐ์ง๊ณ ์ฌ์ฉ์ ์ธ์ฆ์ ํ๋ Form ๊ธฐ๋ฐ ๋ก๊ทธ์ธ ๋ฐฉ์์ Spring Security Config์์ http.formLogin();๊ด๋ จ ์ค์ ์ ํ๋ค.
์ด๋ ๊ฒ ๋์ ๋ ๋ก๊ทธ์ธ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์๋์ผ๋ก UsernamepasswordAuthenticationFilter๋ก ๋น ์ง๊ฒ ๋ผ์ ์ฌ์ฉ์ ๊ฒ์ฆ, ์์ธ์ฒ๋ฆฌ, Security Context์ ์ ์ฅ ๋ฑ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ํํด์ฃผ์ด์ ๋ณ๋์ ๋ก๊ทธ์ธ ๊ด๋ จ ์๋น์ค ๋ก์ง์ด ๋ถ ํ์ํ๋ค.
ํ์ง๋ง JWT ๊ธฐ๋ฐ ๋ก๊ทธ์ธ ๋ฐฉ์์์๋ config ํ์ผ์์ http.formLogin(form -> form.disable()); ์ด๋ ๊ฒ form๋ก๊ทธ์ธ ์ฒ๋ฆฌ๋ฅผ disable ํ๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฉด UsernamepasswordAuthenticationFilter๊ฐ ๋์์ ํ์ง ์๊ฒ ๋๊ณ ์ฌ์ฉ์ ๊ฒ์ฆ ~ Security Context์ ์ ์ฅํ๋ ์ปค์คํ
์๋น์ค ๋ก์ง์ด ํ์ํ๊ฒ ๋๋ค.
์ ๋ฆฌํ๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ํ๋ฆ์ ํ๊ฒ ๋๋ค.