Spring Security
기본 API & Filter 이해 (2) - UsernamePasswordAuthenticationFilter
asdft
2024. 2. 2. 15:29
인증 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를 통해 다음 과정 수행.