SecurityContextHolder
는 인증을 보관하는 보관소이며 Authentication
을 갖고 있는 SecurityContext
를 보관한다.AuthenticationProvider
은 Authentication을 제공하며 이는 여러개가 존재할 수 있다.AuthenticationManager
라고 하며 ProviderManager
는 AuthenticationManager를 구현한다.Authentication에 들어가는 내용
Set <GrantedAuthority> authorities : 인증된 권한 정보 목록
principal : 인증 대상에 관한 정보로 사용자의 아이디 혹은 User객체가 저장된다.
credentials : 인증 확인을 위한 정보로 주로 비밀번호가 온다. (※ 인증 후에는 보안을 위해 삭제한다.)
details : 그 밖에 필요한 정보로 IP, 세션정보, 기타 인증요청에서 사용했던 정보들이 들어간다.
boolean authenticated : 인증이 되었는지를 체크한다.