UserDetailsService

    Authentication, AuthenticationManager, AuthenticationProvider, eraseCredentialsAfterAuthentication

    일반적인 Spring Security에서 인증 객체(Authentication 객체 )를 얻는 과정은 다음과 같다. AuthenticationManager 를 구현한 ProviderManager가, 내부적으로 List를 가지고 있다 이 ProviderManager가 List에서 실제로 인증을 처리하는 객체인 AuthenticationProvider을 찾아서 인증을 진행시켜 인증된 Authentication 객체를 반환한다. Authentication (인증) 사용자를 표현하는 인증 토큰 인터페이스이며, 인증주체를 표현하는 Principal 그리고 사용자의 권한을 의미하는 GrantedAuthority 목록을 포함한다. 인증이 완료되거나 혹은 인증되지 사용자를 모두를 포괄적으로 표현하며, 인증 여부를 확인..

    어댑터 패턴(Adapter Pattern)

    어댑터 패턴(Adapter Pattern) 어댑터패턴은 일치하지 않는 인터페이스를 가져 호환성이 없는 객체들을 같이 동작시킬 수 있는 구조적 디자인 패턴이다. 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴이다. 클라이언트가 사용하는 인터페이스를 따르지 않는 기존 코드를 재사용할 수 있게 해준다 다음과 같이 불린다. 어댑터(Adapter, Adaptor) 적응자 래퍼(Wrapper) 어댑터 패턴이 해결하려고 하는 문제는 다음과 같다 현재 사용하고 있는 라이브러리가 더 이상 요구에 부합하지 않아 재작성하거나, 다른 라이브러리를 사용해야 할 때가 있다. 다른 라이브러리를 사용하는 경우 Adapter 패턴을 이용해 기존 코드를 가능한 적게 변경하면서 새로운 라이브러리로 교체할 수 있다...