다음과 같이 처음에 했던 설정대로 application.yml에 새로운 계정 하나를 추가할라고 할 경우 오류가 뜨는 것을 볼 수 있다. 그 이유는 무었일까?
UserDetailsServiceAutoConfiguration 아래 있는 inMemoryUserDetailsManager 메소드에 전달되고 있는 파라미트 SecurityProperties를 살펴보자
SecurityProperties는 application.yml의 security아래 있는 설정값들을 바인딩 하는클래스이다.
그 설정값들은 SecurityProperties 에 전달이 되어 User가 하나생성된다.
User객체가 한개 밖에 없기때문에 User을 여러개 둘 수 없다. 그렇다면 로그인 가능한 계정을 두개 이상 설정하고 싶을때는 어떻게 해야할까?
로그인 가능한 계정을 두개 이상 두기 위해서는 AuthenticationManagerBuider을 이용해 오버라이딩 하면 된다.
AbstractAuthenticationProcessingFilter 로그인 관련 처리 하는 필터
로그인이 성공 했을때 rememverMeService를 통해서 쿠키를 만들게됨
AbstractAuthenticationFilter 에서는 브라우저가 종료 되고 다시 들어왔을때 http요청에서 쿠키가 있는지 확인하고 쿠키가 있으면 autoLogin이라는 메서드를 통해 사용자를 자동로그인