UsernamePasswordAuthenticationFilter
UsernamePasswordAuthenticationFilter
1. 사용자가 로그인을 하려고 시도 하면 UsernamePasswordAuthenticationFilter가 유효한 경로인지 확인
2. 앞에 보낸 url 정보가 AntPathRequestmatcher에 있는 url과 동인한지에 따라 yes, no를 구분함.
3. url매칭이 되면 UsernamePasswordAuthenticationFilter가 username과 password를 가지고 Authentication 객체를 만듬.
4. AthenticationManager에 사용자 인증요청을 함.
AthenticationManager(인증작업을 수행)
5. AthenticationManager 내부적으로 가지고 있는 AuthenticationProvider에게 인증을 위임함.
- 인증을 실패하면 AuthenticationException 발생 시켜 최초의 절차로 이동.
- 인증에 성공하면 User라는 객체와 Authorities라는 객체를 생성하여 Authentication 객체에 저장함.
6. filter는 사용자의 정보와 Authorities가 담긴 객체인 Authentication을 AuthenticationManager로부터 리턴 받음.
7. Authentication 를 securityContext에 해당 객체를 저장 또는 보관.
8. 성공이되면 SuccessHandler를 수행.
Filter Chain Proxy
- Security 내에 시행 되는 filter들을 관리 하는 Bean
- 0번 부터 순적으로 진행을 함.
'Backend > Security' 카테고리의 다른 글
Remember Me 인증 (0) | 2023.01.03 |
---|---|
Logout 처리 및 LogoutFilter (0) | 2023.01.03 |
Boot Security (0) | 2023.01.02 |
JWT(JSON Web Token) (0) | 2023.01.02 |
CIA, RSA, RFC (1) | 2022.12.29 |