Authentication
- 유저의 정보를 가지고 인증을 하는 클래스이다.
- 로그인 정보를 POST 시 해당 내용을 UsernamePasswordAuthenticationFilter가 인증처리를 시작함.
- UsernamePasswordAuthenticationFilter 유저의 정보를 UsernamePasswordAuthenticationToken에 담은 객체를 만듬.
- 만들어진 Token을 AuthenticationManager 에게 인증을 위임함.
- AuthenticationManager 는 자신이 가지고 있는 provider에게 객체를 넘기면서 인증요청을 함.
- 인증이 되었다면 인증이 된 토큰을 다시 생성하여 provider가 AuthenticationManager 에게 반환함.
- AuthenticationManager 는 UsernamePasswordAuthenticationFilter에게 인증된 토큰을 넘겨줌.
- 마지막으로 그 토큰을 SecurityContext에 저장하게 함으로써, 서버 전체에서 해당 인증객체를 사용할 수 있게 됨.
Authentication 구조
- principal : 사용자 아이디 혹은 User객체를 저장
- credentials : 사용자 비밀번호
- authorities : 인증된 사용자의 권한 목록
- details : 인증 부가 정보
- Authenticated : 인증 여부 (true or false)
'Backend > Security' 카테고리의 다른 글
SecurityContextPersistenceFilter (0) | 2023.01.21 |
---|---|
SecurityContextHolder, SecurityContext (1) | 2023.01.21 |
필터 초기화와 다중 보안 설정 (0) | 2023.01.18 |
DelegatingFilterProxy, FilterChainProxy (0) | 2023.01.18 |
CSRF(사이트 간 요청 위조) (0) | 2023.01.09 |