Untitled

  1. Http Request, 즉 로그인 요청을 보낼 때 requstBody(Post) 요청으로 보냄
  2. 시큐리티에 존재하는 수많은 필터 중 AuthenticationFilter를 거쳐 UsernamePasswordAuthenicationToken을 발급
  3. 발급한 토큰을 ProviderManager를 구현하고 있는 AuthenticationManager에게 줌
  4. manager는 Provider에게 토큰을 넘겨줌
  5. UserDetailsService는 개발자가 작성한 서비스 로직이며 provider는 처음에 받아온 “user01” 즉 아이디만(비밀번호는 신경X)가지고 Service에서 DB와 소통하며 유저 정보를 찾아옴
  6. DB에서 조회한 정보를 통해 유저 객체를 생성함 → 권한 및 암호화 된 비밀번호도 포함해서 생성
  7. 유저 객체를 반환할 때 DB에서 조회한 암호화 된 패스워드와 처음 View에서 받아온 비밀번호를 비교 → 이 단계에서 인증과 인가가 확인됨

최종적으로, 반환된 객체 정보를 가지고 Authentication 까지 전달됨