SpringBoot

CORS

Jungsoomin :) 2020. 11. 7. 22:14

프로젝트를 진행하며 CORS 이슈에 직면해서 해결한 바가 있기때문에, 공통적인 자원들에 CORS 를 적용하는 법은 알고 있다

 

CORS

SOP : Single Origin Policy

CORS : Cross-Origin Resource Sharing 으로 SOP 를 우회하기 위함

 

Origin

http https 등의 URI 스키마 + hostname + 포트 를 조합한 것

SOP 는 하나의 오리진이 다른 오리진을 호출할 수 없다는 개념

 


스프링 부트에서 해야할 일은 @CrossOrigin 설정

 

  • 컨트롤러의 메서드에 @CrossOrigin 을 선언, origins 속성허용할 Origin 을 기입한다.
@RestController
public class SampleController {

    @CrossOrigin(origins = "http://localhost:18080")
    @GetMapping("/hello")
    public Hello hello(){
    Hello hello = new Hello();
    hello.setPrefix("hey, ");
    hello.setName("soomin");


    return hello;
}

}

 


공통적으로 적용할 CORS 에 대해 해결했던 이슈에 대한 경험

 

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/hello")
                .allowedOrigins("http://localhost:18080");
    }
}

'SpringBoot' 카테고리의 다른 글

Spring Data JPA 개요  (0) 2020.11.08
MySQL,PostgreSQL  (0) 2020.11.07
Spring HATEOAS  (0) 2020.11.07
ExceptionHandling  (0) 2020.11.06
HTMLUnit  (0) 2020.11.06