spring security >>> access denied

 

왜 403이 발생하는가

Spring Boot 프로젝트에 spring-boot-starter-security가 포함되어 있으면 (gradle에 의존성이 있으면!!!)
아무 설정을 하지 않아도 다음이 기본으로 적용된다.

  • 모든 요청은 인증 필요
  • POST / PUT / DELETE 요청에는 CSRF 토큰이 필요

Postman에서 요청을 보낼 때는 CSRF 토큰을 보내지 않기 때문에
아래 흐름으로 동작한다.

  1. Postman → POST /weather/forecast
  2. Spring Security FilterChain 실행
  3. CSRF 토큰 없음
  4. 403 Access Denied 반환

즉, 컨트롤러까지 도달하지도 못하고 보안 필터에서 차단된다.