책임 연쇄 패턴이란?
->위의 코드 == FilterChainProxy 안의 static class VirtualFilterChain이다.
->아래 코드 == AbstractAuthenticationProcessingFilter의 doFilter이다.(여러 필터들로 퉁침)
&&&&&&&이해하기&&&&&&&&&
**각 클래스 설명
->Filter라는 인터페이스에는 doFilter()라는 메서드가 있다.
->VirtualFilterChain이라는 클래스는 Filter를 구현하여 doFilter 메소드가 있다.
->여러 필터들은 Filter를 구현하여 doFilter 메소드가 있다.
**doFilter()의 역할 설명
->VirtualFilterChain의 doFilter() 메소드는 List의 인덱스를 증가시켜 nextFilter의 doFilter()를 실행
->여러 필터들의 doFilter()메소드는 각 인증이나 로직 실행 후, VirtualFilterChain의 doFilter()를 실행
->놓치지 말아야 할 점은 모두 Filter라는 인터페이스를 구현한다는 것.
->어떻게 보면 Filter라는 인터페이스에 의존한다는 것...(DIP)
->어떻게 보면 Filter들은 각각의 고유 로직만 실행한다는 것...(SRP)
'스프링 시큐리티' 카테고리의 다른 글
시큐리티 필터 체인 (0) | 2025.04.28 |
---|---|
SpringApplication.run 이후 초기화 (0) | 2025.04.26 |
Authentication 흐름 2(AnonymousAuthenticationFilter) (1) | 2024.08.06 |
Authentication 흐름 1(SecurityContextHolderFilter) (0) | 2024.08.03 |
DelegatingFilterProxy와 흐름 (0) | 2024.07.20 |