본문 바로가기
프로젝트

[1일차 / JAVA] Cors 설정

by maverick11471 2025. 3. 25.

Cors 설정

  • 개념 : Cross-Origin Resource Sharing(교차되는 도메인의 자원을 공유한다)
  • 왜? : 다른 도메인이 접근하는 것을 차단하기 위해 웹 브라우저 보안정책인 SOP(Same-Origin Policy, 동일 출처 정책)이 존재하는데, 프론트엔드(localhost:3000)에서 백엔드(localhost:8080)의 자원을 가져다 사용하기 위해 
  • 단계
    1. WebMvcConfigurer 상속 : addCorsMappings를 Override해 전역적으로 설정 가능
    2. CorsRegistry 매개변수 : Cors 설정을 등록하는 전용 객체
    3. 메서드 
      1. addMapping : Cors 적용 경로 설정
      2. allowedOrigins : 허용할 도메인 목록
      3. allowedMethods : 허용할 HTTP 메서드 목록
      4. allowedHeaders : 허용할 요청 헤더
      5. allowCredentials : 쿠키/인증 헤더 허용
        1. JWT 토큰을 헤더에 포함할 때
        2. 쿠키 기반 인증 사용 시
        3. CSRF 토큰을 요청과 함께 보낼 때
package com.taekwandoback.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")
            .allowedOrigins("http://localhost:3000")
            .allowedMethods("GET", "POST", "DELETE", "POST", "PUT")
            .allowedHeaders("*")
            .allowCredentials(true);
    }
}

 

 

'프로젝트' 카테고리의 다른 글

[1일차 / JAVA] Spring Security 설정  (0) 2025.03.25