Jin's Dev Story

[Spring Security] Authentication의 구조 본문

Web & Android/Spring Security

[Spring Security] Authentication의 구조

woojin._. 2023. 10. 17. 16:00

  • Spring에서 로그인을 한다는 것은 SecurityContext가 authenticated가 true인 Authenticaiton(인증) 객체를 갖고 있는 상태 → 이때 authintication(인증)은 AnonymousAuthenticationToken이 아니어야 함!
  • SecurityContextHolder(인증보관함 보관소)는 인증을 보관하는 보관소이며 Authentication(인증)을 갖고 있는 SecurityContext(인증보관함)를 보관
  • AuthenticationProvider(인증 제공자)은 Authentication(인증)을 제공하며 이는 여러개가 존재할 수 있음
  • AuthenticationProvider(인증 제공자)를 관리하는 Interface를 AuthenticationManager(인증 관리자)라고 하며 ProviderManager는 AuthenticationManager(인증 관리자)를 구현
  • Authentication(인증)은 권한의 정보와 인증 대상에 대한 Principal(접근 주체), Credential(비밀번호)의 정보를 갖는 인터페이스