userDetailsService 3

21.AuthenticationProvider

AuthenticationProvider 실질적으로 인증처리를 하는 핵심 클래스로 Interface 이다. AuthenticaionProvider를 구현하여 서비스에 맞는 인증방식을 만드는 것이 주를 이룬다. 재정의 할 메서드 boolean support(authentication) : 조건의 기준 검사. Authentication authenticate(authentication) : 실질적 인증처리를 위한 검증 매개 값으로는 username , password 를 가진 Authentication 객체를 가진다. 흐름 구조를 알면 메서드 재정의 방식을 이해할 수 있을듯 하다. authenticate(authentication) 에서 username 검증을 위해 UserDetailsService 호출 ,..

19.Authentication Flow

Authentication Flow : 인증의 흐름 Client Login Request UsernamePasswordAuthenticationFilter 가 수렴하여 username , password 를 담은 Authentication 토큰생성 AuthenticationManager 에게 Authentication 객체를 넘겨 처리 위임 AuthenticationManager는 인증 관리자로 적절한 AuthenticationProvider에게 넘기는 역할 만을 함 AuthenticationProvider 는 Authentication 객체를 받아 실제 인증 처리를 시작 AuthenticationProvider는 UserDetailsService에게 username 을 주어 User객체 요청 : loa..

6.Remember Me 인증

Remember Me 기능..? Remember Me 기능을 활성화하면 Spirng Security 는 세션이 만료되거나 브라우저가 종료된 뒤에도 어플리케이션이 사용자를 기억하게끔한다. Remeber Me 기능을 활성화 한 상태에서 사용자의 요청 Spring Security는 Remember-Me 쿠키에 대한 Http 요청을 확인 후 토큰 기반 인증을 사용하여 유효성을 검사, 검증이 되면 자동으로 로그인 됨 사용자 요청의 라이프사이클 인증성공 : Remember-Me 쿠키 설정 인증실패 : 쿠키 존재시 무효화 로그아웃 : 쿠키 존재시 무효화 Remember Me 기능을 위한 API들 http.rememberMe() : rememberMe 기능이 작동 rememberMe() 의 하위 API들 remembe..