Skip to content

Commit 27788c1

Browse files
committed
[BE] chore(#53): Cors setting
* ProjectConfig : prod, !prod로 구분, dev 환경에서는 모든 url 허용 * SecurityConfig : swagger url추가
1 parent b51ffc4 commit 27788c1

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

backend/src/main/java/com/example/backend/auth/config/ProjectConfig.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
44
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
5+
import org.springframework.beans.factory.annotation.Value;
56
import org.springframework.context.annotation.Bean;
67
import org.springframework.context.annotation.Configuration;
78
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -12,6 +13,9 @@
1213
@Configuration
1314
public class ProjectConfig implements WebMvcConfigurer {
1415

16+
@Value("${spring.profiles.active}")
17+
private String activeProfile;
18+
1519
// 암호 인코더 정의 - bcrypt 해싱 알고리즘 사용
1620
@Bean
1721
public BCryptPasswordEncoder passwordEncoder() {
@@ -26,14 +30,24 @@ public ObjectMapper objectMapper() {
2630
// 객체의 속성 이름을 snake-case로 설정
2731
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
2832
}
29-
30-
// Cors 모두 오픈 (개발환경)
3133
@Override
3234
public void addCorsMappings(CorsRegistry registry) {
35+
if (activeProfile.equals("prod")) {
36+
prodProfileCorsMapping(registry);
37+
} else {
38+
devProfileCorsMapping(registry);
39+
}
40+
}
41+
// Cors 모두 오픈 (개발환경)
42+
public void devProfileCorsMapping(CorsRegistry registry) {
3343
registry.addMapping("/**")
3444
.allowedOriginPatterns("*")
3545
.allowedMethods("GET", "POST")
3646
.allowedHeaders("*")
3747
.allowCredentials(true);
3848
}
49+
// 프로덕션 환경에서는 Cors 설정을 Front 페이지와 허용할 서버만 등록
50+
private void prodProfileCorsMapping(CorsRegistry registry) {
51+
52+
}
3953
}

backend/src/main/java/com/example/backend/auth/config/security/SecurityConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
2525
authorizeHttpRequest
2626
// UnAuth Area
2727
.requestMatchers("/auth/**").permitAll()
28+
// Swagger 추가
29+
.requestMatchers("/v3/api-docs/**", "/swagger-ui/**").permitAll()
2830
// Others
2931
.anyRequest().hasAnyAuthority("USER", "ADMIN")
3032
)

0 commit comments

Comments
 (0)