1. Username/Password Authentication


1-1. Reading the Username & Password (사용자 이름 및 암호 읽기)


1-1-1. Form Login


<aside> 4️⃣ 먼저 사용자가 로그인 form으로 리디렉션되는 방법을 알아보자

</aside>

Untitled

  1. 먼저 사용자는 권한이 없는 리소스(/프라이빗)에 인증되지 않은 요청을 한다.
  2. Spring Security의 **AuthorizationFilter**는 **AccessDeniedException**을 던져 인증되지 않은 요청이 거부되었음을 나타낸다.
  3. 사용자가 인증되지 않았기 때문에 **ExceptionTranslationFilter**는 **Start Authentication**을 시작하고 구성된 AuthenticationEntryPoint를 사용하여 로그인 페이지로 리디렉션을 보낸다. 대부분의 경우 AuthenticationEntryPoint는 **LoginUrlAuthenticationEntryPoint**의 인스턴스이다.
  4. 브라우저가 리디렉션된 로그인 페이지를 요청한다.
  5. 응용프로그램 내의 무언가, 로그인 페이지를 렌더링해야 한다.

<aside> 4️⃣ 이번엔 SecurityFilterChain을 사용한 방법을 알아보자

</aside>