토끼굴 정리

wish17·2023년 3월 19일
0

노트

목록 보기
4/4

ProviderManager

AuthenticationProvider를 구현한 구현 클래스가 Spring Bean으로 등록되어 있을 때 해당 AuthenticationProvider를 이용해서 인증을 진행하는 과정 정리을 정리했다.

  1. Spring Security가 UsernamePasswordAuthenticationToken 또는 다른 인증 토큰을 받는다.
  2. AuthenticationManager가 인증 토큰을 받아 ProviderManager를 호출한다.
  3. ProviderManager는 등록된 AuthenticationProvider 목록을 반복하면서, supports() 메서드를 호출하여 해당 AuthenticationProvider가 인증 토큰을 처리할 수 있는지 확인한다.
  4. 인증 토큰을 처리할 수 있는 AuthenticationProvider를 찾으면, 해당 Provider의 authenticate() 메서드를 호출하여 인증을 진행한다.
  5. AuthenticationProvider는 인증에 필요한 사용자 정보를 가져와 인증을 수행
  6. 인증이 성공하면, AuthenticationProvider는 UserDetails 객체를 생성하여 Authentication 객체에 저장
  7. 인증에 성공한 Authentication 객체는 SecurityContextHolder를 통해 현재 스레드와 관련된 SecurityContext에 저장

0개의 댓글