자바/Spring

Spring Security Authentication(인증)

끄적끄적 2023. 9. 17. 13:11

Authentication(인증) : 사용자가 맞는지 확인

  • FormLogin 

AuthorizationFilter에서 AccessDeniedException 발생

 

  • FilterChainProxy

FilterChainProxy에 보면 정의된 filters를 리스트로 가지고 있음

FilterChainProxy에 보면 filters를 가지고 있음

ProviderManager에서 Provider의 authenticate 호출
ProviderManager에서 사용하는 Provider 들
authentication Flow

 

인증 성공/실패에 따른 후속처리

  • SecurityContextHolder : 인증된 사용자 세부정보 저장하는 곳. 어떻게 채워지는지는 신경쓰지 않음
  •  

  • SecurityContext : Authentication 객체가 담겨있음. Principal(사용자정보), Credentials(비밀번호), Authorities(권한)

SecurityContext 안에는 authentication 객체가 담겨있음

 

  • 소스로 살펴보는 인증 흐름

1. AbstractAuthenticationProcessingFilter

 

2. UsernamePasswordAuthenticationFilter

 

3. ProviderManager

 

4. AbstractUserDetailsAuthenticationProvider

 

5. DaoAuthenticationProvider

 

6. UserDetailsService 에서 User 찾기

반응형