인증 API - Login Form 인증
UsernamePasswordAuthenticationFilter : Login Form 인증 처리를 하는 filter.
1. 사용자가 인증을 시도하면 UsernamePassWordAuthenticationFilter가 이를 처리
2. AntPathRequestMathcher
: 사용자가 요청한 요청정보의 URL이 맞는지 확인
(http.loginProcessingUrl( )로 변경 가능. 디폴트 주소 값은 "/login")
3. Authentication
: Authentication 객체를 만들어서, 사용자가 로그인 시 입력한 Username과 Password를 저장
4. AuthenticationManager
: 인증 관리자. 위에서 만들어진 인증 객체를 전달받고 인증 처리를 하게됨.
AuthenticationProvider : 실질적으로 인증 처리를 담당하는 클래스.
인증에 실패할 경우, AuthenticationException을 발생시킴.
인증에 성공할 경우, 권한정보(Authorities), User 객체 등의 정보가 담긴 인증 객체를 생성하여 반환.
5. Security Context
: 인증 객체를 저장&보관하는 저장 장소. 저장된 인증 객체는 전역적으로 참조할 수 있음.
위에서 만들어진 최종적인 권한정보, User객체가 담긴 Authentication 인증 객체를 받아와서
Security Context에 저장. 이후 Success Handler를 통해 다음 과정 수행.
'Spring Security' 카테고리의 다른 글
JWT 로그인 시 Refresh-Token 저장소를 Redis로 변경하는 이유 (0) | 2024.05.20 |
---|---|
JWT와 Redis를 활용한 인증 시스템 구축하기(1) (0) | 2024.05.19 |
동시 세션 제어 / 세션 고정 보호 / 세션 정책 (1) | 2024.02.06 |
기본 API & Filter 이해 (3) - Logout, LogoutFilter (0) | 2024.02.02 |
기본 API & Filter 이해 (1) (0) | 2024.02.02 |