본문 바로가기
Spring

[Spring] Spring Security 필터 순서 이해 안 될 때 (로그인 안 되는 원인 찾는 방법)

by 요료료룡 2026. 2. 6.

📌 문제 상황

Spring Security를 설정했는데

  • 로그인은 되는데 페이지 이동이 안 됨
  • 로그아웃이 정상적으로 안 됨
  • 권한 설정이 적용되지 않음

👉 이런 문제를 겪는 경우가 많다.


📌 원인

이 문제는 대부분

👉 Spring Security 필터 순서를 이해하지 못해서 발생한다

Spring Security는 여러 필터가 체인 형태로 동작하며
👉 순서에 따라 인증/인가 처리가 결정된다


📌 핵심 필터 흐름

1️⃣ 초기 설정 필터

👉 보안 환경 준비 단계

  • SecurityContextPersistenceFilter
    → 로그인 정보 불러오기
  • HeaderWriterFilter
    → 보안 헤더 추가

👉 요청이 들어오면 가장 먼저 실행된다


2️⃣ 사용자 동작 처리

👉 로그인/로그아웃 관련 처리

  • LogoutFilter
    → 로그아웃 요청 처리
  • RequestCacheAwareFilter
    → 로그인 후 원래 페이지로 이동

3️⃣ 인증 및 권한 처리 (핵심🔥)

👉 실제로 중요한 단계

  • AnonymousAuthenticationFilter
    → 로그인 안 된 사용자 처리
  • ExceptionTranslationFilter
    → 인증 실패 시 로그인 페이지 이동
  • AuthorizationFilter
    → 최종 권한 체크

❗ 실제 문제 예시

👉 로그인 안 했는데도 페이지 접근됨

원인:

  • AnonymousAuthenticationFilter 때문에
    👉 “익명 사용자”로 인식됨

👉 로그인 후 이동이 이상함

원인:

  • RequestCacheAwareFilter 설정 문제

👉 403 에러 발생

원인:

  • AuthorizationFilter에서 권한 없음 판단

🔥 실무에서 중요한 포인트

  • 필터 순서가 매우 중요하다
  • 인증 → 인가 순서로 동작한다
  • 중간 필터 하나만 꼬여도 전체 동작 깨짐

📌 마무리

Spring Security 문제의 대부분은

👉 필터 흐름을 이해하면 해결된다

단순히 필터를 외우는 것보다
👉 “어디서 문제가 발생하는지” 파악하는 것이 핵심이다.

'Spring' 카테고리의 다른 글

Spring Boot 실행 시 포트 충돌 오류 해결 (Address already in use)  (0) 2026.04.16
[Spring] WebClient  (0) 2026.02.07