로그인
- 로그인은 데이터베이스에 등록된 아이디와 패스워드를 사용자가 입력한 아이디와 비밀번호와 비교해서 일치 여부를 확인하는 과정입니다.
필터체인 프록시는 스프링 부트의 자동 설정에 의해 생성됩니다.
필터체인 프록시 = 스프링 시큐리티에서 제공하는 필터
필터체인 프록시에서 사용할 수 있는 보안 필터 체인은 List 형식으로 담을 수 있게 설정돼 있어 선택하여 지정할 수 있습니다.
여러 개의 상속 클래스를 구현할 경우 @Order 어노테아션을 이용하여 우선 순위를 지정해야 합니다.(하지 않을 경우 예외 발생)
현재는 해당 클래스가 DEPRECATED됨
Notion으로 해당 과정을 그리다 보니 화살표가 복잡하게 보이긴 한다...!
여기서는 AuthenticationFilter는 UsernamepasswordAuthenticationFilter입니다.
AuthenticationManager는 인터페이스이며, 일반적으로 사용되는 구현체는 ProviderManager입니다.
Rest API일 경우 이를 사용하지 않고 JWT 토큰을 사용합니다. 그러므로 JWT와 관련된 필터를 생성하고 UsernamePasswordAuthenticationFilter 앞에 먼저 배치해서 먼저 인증을 수행할 수 있게 설정해야합니다.
URL에서 사용할 수 있는 문자열로 구성돼 있기 때문에 HTTP 구성요소 어디든 위치가 가능하다.
헤더.내용.서명
{
“alg": "HS256",
"typ": "JWT"
}