flowchart LR
A[요청 진입] --> B[SecurityContext 로드<br/>SecurityContextPersistenceFilter]
B --> C[요청 보조<br/>RequestCache / Request Wrapper]
C --> D[익명 사용자 처리<br/>AnonymousAuthenticationFilter]
D --> E[세션 관리<br/>SessionManagementFilter]
E --> F[예외 변환<br/>ExceptionTranslationFilter]
F --> G[권한 검사<br/>AuthorizationFilter]
G --> H[컨트롤러]
DisableEncodeUrlFilter
- URL에
jsessionid가 붙지 않도록 URL 인코딩을 막는 필터
- 세션 ID 노출로 인한 보안 문제를 예방
WebAsyncManagerIntegrationFilter
- 비동기 요청 처리 시에도
SecurityContext를 유지
- 스레드가 변경되어도 인증 정보 접근 가능하게 해줌
SecurityContextPersistenceFilter
- 요청 시작 시 세션에서
SecurityContext를 꺼내고
- 요청 종료 시 변경된
SecurityContext를 다시 세션에 저장
- 인증 정보 관리의 중심 역할
HeaderWriterFilter
- 보안 강화를 위한 Spring Security 관련 HTTP 응답 헤더 추가
- 클릭재킹, XSS, MIME 타입 공격 등 방어 목적