1. 인증 프로세스

폼 인증

폼 인증이란?

HTTP 기반의 폼 로그인 인증 매커니즘을 활성하는 API입니다. 사용자 정의 로그인 페이지를 쉽게 구현할 수 있습니다. 기본적으로는 스프링 시큐리티가 제공하는 기본 로그인 페이지를 사용하며 사용자 이름과 비밀번호 필드가 포함된 간단한 로그인 양식을 제공합니다. 사용자는 웹 폼을 통해 자격 증명(사용자 이름과 비밀번호)를 제공하고 Spring Security는 HttpServletRequest에서 이 값을 읽어옵니다.

인증 흐름

1: 권한 검사 필터는 현재 권한으로 /user를 호출할 수 있는지 검사합니다.
2: 당연히 로그인이 안된 상태이므로 권한 필터를 통과하지 못해 접근 예외가 발생합니다.
3: 예외처리 필터가 발생한 예외를 처리합니다.
4: AuthenticationEntryPoint가 로그인할 수 있는 페이지로 이동시킵니다. (로그인 페이지 리다이렉트)
5: 로그인 페이지에서 아이디와 비밀번호를 입력받아 서버에 재요청합니다.

formLogin() API


UsernamePasswordAuthenticationFilter가 생성되어 폼 방식의 인증 처리를 담당하게 됩니다.