FilterChainProxy는 SecurityFilterChain 인스턴스로 구성되어 있는 리스트를(filterChains) 사용하며, 각 인스턴스에는 RequestMatcher와 일치하는 요청에 적용해야하는 필터 목록이 포함되어 있다

- WebAsyncManagerIntergrationFilter
 - SecurityContextPersistenceFilter
 - HeaderWriterFilter
 - CsrfFilter
 - LogoutFilter
 - UsernamePasswordAuthenticationFilter(formlogin)
 - DefaultLoginPageGeneratingFilter(formlogin)
 - DefaultLogoutPageGeneratingFilter(formlogin)
 - BasicAuthenticationFilter(basiclogin)
 - RequestCacheAwareFtiler
 - SecurityContextHolderAwareReqeustFilter
 - AnonymouseAuthenticationFilter
 - SessionManagementFilter
 - ExeptionTranslationFilter
 - FilterSecurityInterceptor
 
protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .mvcMatchers("/", "/info", "/account/**").permitAll()
                .mvcMatchers("/admin").hasRole("ADMIN")
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .and()
            .httpBasic();
    }
위와 같이 설정한 부분이 filterChains로 적용된다.
'스터디-Spring' 카테고리의 다른 글
| [스프링 시큐리티] AccessDecisionManager (0) | 2022.01.13 | 
|---|---|
| [스프링 시큐리티] DelegatingFilterProxy와 FilterChainProxy (0) | 2022.01.13 | 
| [스프링 시큐리티] Authentication과 SecurityContextHolder (0) | 2022.01.11 | 
| [스프링 시큐리티] ThreadLocal (0) | 2022.01.10 | 
| [스프링 시큐리티] AuthenticationManager와 Authentication (0) | 2022.01.10 |