인터페이스 임 구현하게 되면 우리가 어떤 조건에 따라서 원하는 설정클래스를 로드해야될때 ImportSelector로드 가능함.
1번이 트루면 A설정 클래스로드 이런식..
오른쪽 WebMvcSecurityConfiguration 을 현재 어떤 조건에따라 로드해서 실행하고 있음.
DelegatingFilterProxyRegistartionBean 로드
그림을 왼쪽에서 오른쪽으로 읽자
검색된 빈에게 실제 클라이언트 요청을 위임하는 역할임
검색된 빈은 필터체인프록시라는 클래스임
옆에 그림을 실행 시킴 SecurityFilterChain 타입의 빈.
시큐리티 의존성을 추가했으니. 인증이나 인가 정책(디폴트로) 초기화 되기 위해 오른쪽 그림처럼 빈을 만들어 버림.
WebSecurity를 만든다
WebSecurity 는 securityFilterChainByilders라는 속성이있음
그 안에 SecuriityFilterChain은 위에 설정한 그림
SecurityBuilder가 가지고있음
웹 시큐리티가 빌더스를 가지고있다가 build() 메서드 실행 (보안의기능을위해)
requestMatcher = any any request -> 어떤 요청도 저 필터를 다타게하겠다..
기본으로 자동설정에 의한 HttpSecurity 에서 SecurityFilterChain은 한개로 설정되있지만 그 이상이 될수 있다.