[Security] WebSecurity & HttpSecurity

Spring Security 구조 이해
1. SecurityBuilder
- Spring Security의 핵심 빌더 클래스로, 인증 및 인가 관련 설정을 정의.
- HttpSecurity, WebSecurity, AuthenticationManagerBuilder 설정 클래스를 포함.
- 설정 클래스들의 초기화 작업은 SecurityConfigurer에 의해 진행됨.

2. HttpSecurity
- HTTP 요청에 대해 필터들의 묶음을 구성하는 클래스.
- HttpSecurityConfiguration에 의해 생성 및 초기화됨.
- 보안 설정을 위한 필터를 생성하고, 최종적으로 SecurityFilterChain 빈을 생성함.

3. SecurityFilterChain
- getFilters(): 필터 객체 리스트 반환.
- matches(HttpServletRequest request): 현재 요청이 이 필터 체인에 의해 처리될지 여부를 결정.
true 반환 시 처리 / false 반환 시 다른 필터 체인이 처리함을 의미.
4. WebSecurity
- WebSecurityConfiguration에서 생성 및 초기화됨.
- HttpSecurity에서 생성된 SecurityFilterChain 빈을 SecurityBuilder에 저장.
- build() 호출 시, FilterChainProxy가 생성됨.
