From 00f19858a667d7f15b66d7987729cd39a6e8642e Mon Sep 17 00:00:00 2001 From: chat26666 Date: Mon, 23 Jun 2025 20:53:39 +0900 Subject: [PATCH 1/2] asdas --- .../event/config/WebMvcCorsConfig.java | 18 ++++++++++++++++++ .../event/config/WebSocketConfig.java | 1 + 2 files changed, 19 insertions(+) create mode 100644 src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java diff --git a/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java b/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java new file mode 100644 index 00000000..a5fc159a --- /dev/null +++ b/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java @@ -0,0 +1,18 @@ +package org.ezcode.codetest.infrastructure.event.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 WebMvcCorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/ws/**") + .allowedOriginPatterns("*") + .allowedMethods("GET","POST","OPTIONS") + .allowedHeaders("*") + .allowCredentials(true); + } +} diff --git a/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebSocketConfig.java b/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebSocketConfig.java index 0cb98683..97aea8cb 100644 --- a/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebSocketConfig.java +++ b/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebSocketConfig.java @@ -54,5 +54,6 @@ public void configureMessageBroker(MessageBrokerRegistry registry) { registry.setApplicationDestinationPrefixes("/chat"); registry.setUserDestinationPrefix("/user"); } + } From a42206b9c128e11c63858e99cabe84f239e2ac33 Mon Sep 17 00:00:00 2001 From: chat26666 Date: Mon, 23 Jun 2025 21:50:05 +0900 Subject: [PATCH 2/2] fix:cors error --- .../common/security/config/SecurityConfig.java | 8 ++++---- .../event/config/WebMvcCorsConfig.java | 18 ------------------ 2 files changed, 4 insertions(+), 22 deletions(-) delete mode 100644 src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java diff --git a/src/main/java/org/ezcode/codetest/common/security/config/SecurityConfig.java b/src/main/java/org/ezcode/codetest/common/security/config/SecurityConfig.java index 5c25cde2..a20fe6c5 100644 --- a/src/main/java/org/ezcode/codetest/common/security/config/SecurityConfig.java +++ b/src/main/java/org/ezcode/codetest/common/security/config/SecurityConfig.java @@ -48,7 +48,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti return http // CSRF, Form 로그인, HTTP Basic 인증 비활성화 - .cors(Customizer.withDefaults()) // CORS 설정 추가 + .cors(cors -> corsConfigurationSource()) // CORS 설정 추가 .csrf(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .httpBasic(AbstractHttpConfigurer::disable) @@ -133,15 +133,15 @@ public AccessDeniedHandler customAccessDeniedHandler() { public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); - configuration.setAllowedOrigins(List.of("*")); // 다 허용 + configuration.setAllowedOriginPatterns(List.of("*")); // patterns 를 써야됨 configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS")); configuration.setAllowedHeaders(List.of("*")); - configuration.setAllowCredentials(false); + configuration.setExposedHeaders(List.of("*")); + configuration.setAllowCredentials(true); // true 옵션 필요 UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", configuration); return source; } - } diff --git a/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java b/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java deleted file mode 100644 index a5fc159a..00000000 --- a/src/main/java/org/ezcode/codetest/infrastructure/event/config/WebMvcCorsConfig.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.ezcode.codetest.infrastructure.event.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 WebMvcCorsConfig implements WebMvcConfigurer { - - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/ws/**") - .allowedOriginPatterns("*") - .allowedMethods("GET","POST","OPTIONS") - .allowedHeaders("*") - .allowCredentials(true); - } -}