diff --git a/.gitignore b/.gitignore index 1115b80..d3485c2 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,7 @@ out/ ### yml ### -- docker-compose.yml -+ docker-compose.yml +docker-compose.yml + **/main/resources/ application.yml \ No newline at end of file diff --git a/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java b/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java index e5a038c..9503114 100644 --- a/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java +++ b/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java @@ -7,6 +7,11 @@ import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.CorsConfigurationSource; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; + +import java.util.List; @Configuration @EnableWebSecurity @@ -39,4 +44,20 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti //.addFilterBefore(new JwtAuthenticationFilter(), SecurityFilterChain.class) .build(); } + + @Bean + CorsConfigurationSource corsConfigurationSource() { + CorsConfiguration config = new CorsConfiguration(); + config.setAllowCredentials(true); + config.setAllowedOriginPatterns(List.of("*", "http://localhost:3000")); + config.setAllowedOrigins(List.of("http://localhost:3000")); + config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS")); + config.setAllowedHeaders(List.of("*")); + config.setExposedHeaders(List.of("*")); + + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", config); + return source; + } + } diff --git a/src/main/java/Capstone/AutoScheduler/global/config/WebConfig.java b/src/main/java/Capstone/AutoScheduler/global/config/WebConfig.java index c152f34..7ca3bf8 100644 --- a/src/main/java/Capstone/AutoScheduler/global/config/WebConfig.java +++ b/src/main/java/Capstone/AutoScheduler/global/config/WebConfig.java @@ -1,4 +1,17 @@ package Capstone.AutoScheduler.global.config; -public class WebConfig { +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 WebConfig implements WebMvcConfigurer { + @Override + public void addCorsMappings(final CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("http://localhost:3000") + .allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS") // 허용할 HTTP 메소드 + .allowedHeaders("*") // 허용할 헤더 + .allowCredentials(true); // 자격 증명 허용 + } }