Skip to content

Commit dfa1325

Browse files
committed
[feat] : CORS 설정 추가
1 parent 91a8099 commit dfa1325

File tree

3 files changed

+44
-1
lines changed

3 files changed

+44
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.cona.KUsukKusuk.global.security;
2+
3+
import org.springframework.context.annotation.Configuration;
4+
import org.springframework.web.servlet.config.annotation.CorsRegistry;
5+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6+
7+
@Configuration
8+
public class CorsMvcConfig implements WebMvcConfigurer {
9+
@Override
10+
public void addCorsMappings(CorsRegistry corsRegistry) {
11+
12+
corsRegistry.addMapping("/**")
13+
14+
.allowedOriginPatterns("*");
15+
}
16+
}

src/main/java/com/cona/KUsukKusuk/global/security/LoginFilter.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.servlet.FilterChain;
55
import jakarta.servlet.http.HttpServletRequest;
66
import jakarta.servlet.http.HttpServletResponse;
7+
import java.io.IOException;
78
import java.util.Collection;
89
import java.util.Iterator;
910
import java.util.concurrent.TimeUnit;
@@ -65,8 +66,10 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
6566
}
6667

6768
@Override
68-
protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed) {
69+
protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed)
70+
throws IOException {
6971

72+
response.getWriter().write("해당 사용자의 아이디나 비밀번호가 옳지 않습니다. 다시 확인해주세요");
7073
response.setStatus(401);
7174
}
7275
}

src/main/java/com/cona/KUsukKusuk/global/security/SecurityConfig.java

+24
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.cona.KUsukKusuk.global.security;
22

3+
import jakarta.servlet.http.HttpServletRequest;
4+
import java.util.Collections;
35
import lombok.RequiredArgsConstructor;
46
import org.springframework.context.annotation.Bean;
57
import org.springframework.context.annotation.Configuration;
@@ -11,6 +13,8 @@
1113
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1214
import org.springframework.security.web.SecurityFilterChain;
1315
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
16+
import org.springframework.web.cors.CorsConfiguration;
17+
import org.springframework.web.cors.CorsConfigurationSource;
1418

1519
@Configuration
1620
@EnableWebSecurity
@@ -42,6 +46,26 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
4246
//csrf disable
4347
http
4448
.csrf((auth) -> auth.disable());
49+
//cors 설정
50+
http
51+
.cors((corsCustomizer -> corsCustomizer.configurationSource(new CorsConfigurationSource() {
52+
53+
@Override
54+
public CorsConfiguration getCorsConfiguration(HttpServletRequest request) {
55+
56+
CorsConfiguration configuration = new CorsConfiguration();
57+
58+
configuration.setAllowedOriginPatterns(Collections.singletonList("*"));
59+
configuration.setAllowedMethods(Collections.singletonList("*"));
60+
configuration.setAllowCredentials(true);
61+
configuration.setAllowedHeaders(Collections.singletonList("*"));
62+
configuration.setMaxAge(3600L);
63+
64+
configuration.setExposedHeaders(Collections.singletonList("Authorization"));
65+
66+
return configuration;
67+
}
68+
})));
4569

4670
//From 로그인 방식 disable
4771
http

0 commit comments

Comments
 (0)