Skip to content

Commit b92e4d1

Browse files
authored
CORS 수정 (#17)
* Test: 테스트용 application.yml 파일 추가 * Feat: Dockerfile 작성 * Refactor: AI 요구사항에 맞게 코드 수정 * Fix: H2 관련 설정 삭제 * Refactor: 식당 ID를 반환하도록 추가 * Refactor: AI 요구사항에 맞춰 수정 * Refactor: AI 요구사항에 맞도록 수정 * Test: 테스트 코드 수정 * Refactor: 회원 상세정보 필드 추가 * Refactor: 테스트 환경 간 모든 요청 허용 * Feat: 에러 발생 시 CORS 설정 추가 * Refactor: 회원 상세 정보 입력 로직 수정 * Refactor: CORS 설정 추가
1 parent 61cd09f commit b92e4d1

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package workplate.workplateserver.config;
2+
3+
import java.util.List;
4+
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
import org.springframework.web.cors.CorsConfiguration;
8+
import org.springframework.web.cors.CorsConfigurationSource;
9+
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
10+
11+
/**
12+
* CORS 설정
13+
*
14+
* @author : parkjihyeok
15+
* @since : 2024/11/19
16+
*/
17+
@Configuration
18+
public class CorsConfig {
19+
20+
@Bean
21+
public CorsConfigurationSource corsConfigurationSource() {
22+
CorsConfiguration configuration = new CorsConfiguration();
23+
configuration.setAllowedOriginPatterns(List.of("*")); // 모든 도메인 허용
24+
configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS"));
25+
configuration.setAllowedHeaders(List.of("*")); // 모든 헤더 허용
26+
configuration.setAllowCredentials(true); // 자격 증명 허용
27+
28+
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
29+
source.registerCorsConfiguration("/**", configuration);
30+
return source;
31+
}
32+
}

src/main/java/workplate/workplateserver/config/SecurityConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package workplate.workplateserver.config;
22

3-
import org.springframework.boot.autoconfigure.security.servlet.PathRequest;
43
import org.springframework.context.annotation.Bean;
54
import org.springframework.context.annotation.Configuration;
65
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
76
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
87
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
98
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
10-
import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer;
119
import org.springframework.security.config.http.SessionCreationPolicy;
1210
import org.springframework.security.web.SecurityFilterChain;
1311
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
12+
import org.springframework.web.cors.CorsConfigurationSource;
1413

1514
import lombok.RequiredArgsConstructor;
1615
import workplate.workplateserver.auth.domain.filter.LoginFilter;
@@ -31,6 +30,7 @@ public class SecurityConfig {
3130
private final AuthenticationConfiguration authenticationConfiguration;
3231
private final LoginSuccessHandler loginSuccessHandler;
3332
private final JwtFilter jwtFilter;
33+
private final CorsConfigurationSource corsConfigurationSource;
3434

3535
@Bean
3636
public LoginFilter loginFilter() throws Exception {
@@ -50,7 +50,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
5050
);
5151
http
5252
.csrf(AbstractHttpConfigurer::disable)
53-
.cors(AbstractHttpConfigurer::disable)
53+
.cors(cors -> cors.configurationSource(corsConfigurationSource))
5454
.formLogin(AbstractHttpConfigurer::disable)
5555
.httpBasic(AbstractHttpConfigurer::disable)
5656
.addFilterAt(loginFilter(), UsernamePasswordAuthenticationFilter.class) // 로그인 필터 변경

0 commit comments

Comments
 (0)