Skip to content

Commit f5dcf68

Browse files
authored
Merge pull request #59 from sw-security-web-app/SCRUM-68
[SCRUM-68] fix: API Error 수정
2 parents b0ad93d + ceb5b67 commit f5dcf68

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

src/main/java/example/demo/security/HealthCheckController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@RestController
88
public class HealthCheckController {
99

10-
@GetMapping("/health-check/")
10+
@GetMapping("/health-check")
1111
public ResponseEntity<?> healthCheck() {
1212
return ResponseEntity.ok("ok");
1313
}

src/main/java/example/demo/security/config/SecurityConfig.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import lombok.AllArgsConstructor;
88
import org.springframework.context.annotation.Bean;
99
import org.springframework.context.annotation.Configuration;
10+
import org.springframework.core.annotation.Order;
1011
import org.springframework.http.HttpMethod;
1112
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
1213
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -36,38 +37,38 @@ public class SecurityConfig {
3637
"/api/login","/swagger-ui/**","/api-docs", "/swagger-ui-custom.html",
3738
"/v3/api-docs/**", "/api-docs/**", "/swagger-ui.html","/api/signup","/api/mail-send",
3839
"/api/mail-check","/api/send-password","/api/sms-certification/send","/api/sms-certification/confirm",
39-
"/api/find-email","/api/**", "/health-check/"
40+
"/api/find-email","/api/**", "/health-check"
4041
};
4142
/*
4243
TODO:White List /api/** 삭제
4344
*/
4445
@Bean
45-
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
46+
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
4647
//CSRF,CORS
4748
http.csrf(AbstractHttpConfigurer::disable);
4849
http.cors(cors -> cors.configurationSource(corsConfigurationSource()));
4950
//세션 관리 상태 없음 구성,
50-
http.sessionManagement(sessionManagement->sessionManagement.sessionCreationPolicy(
51+
http.sessionManagement(sessionManagement -> sessionManagement.sessionCreationPolicy(
5152
SessionCreationPolicy.STATELESS
5253
));
5354

5455
//FormLogin,BasicHttp 비활성화
55-
http.formLogin((form)->form.disable());
56+
http.formLogin((form) -> form.disable());
5657
http.httpBasic(AbstractHttpConfigurer::disable);
5758

5859
//JWT Filter를 UsernamePasswordAuthenticationFilter 앞에 추가
59-
http.addFilterBefore(new JwtAuthFilter(customMemberDetailService,jwtUtil), UsernamePasswordAuthenticationFilter.class);
60+
http.addFilterBefore(new JwtAuthFilter(customMemberDetailService, jwtUtil), UsernamePasswordAuthenticationFilter.class);
6061

61-
http.exceptionHandling((exceptionHandling)->exceptionHandling
62+
http.exceptionHandling((exceptionHandling) -> exceptionHandling
6263
.authenticationEntryPoint(customAuthenticationEntryPoint)
6364
.accessDeniedHandler(accessDeniedHandler));
6465

6566
//권한 규칙 생성
66-
http.authorizeHttpRequests(authorize->authorize
67+
http.authorizeHttpRequests(authorize -> authorize
6768
.requestMatchers(AUTH_WHITELIST).permitAll()
6869
//@PreAuthorization을 사용
6970
//회사 관리자만 직원 삭제 가능
70-
.requestMatchers(HttpMethod.DELETE,"/user").hasRole(MemberStatus.MANAGER.getText())
71+
.requestMatchers(HttpMethod.DELETE, "/user").hasRole(MemberStatus.MANAGER.getText())
7172
.anyRequest().authenticated());
7273

7374
return http.build();

src/main/java/example/demo/security/util/JwtAuthFilter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ public class JwtAuthFilter extends OncePerRequestFilter {
2222

2323
//JWT 토큰 검증 필터
2424
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
25+
26+
// health-check 요청을 위한 Security 관련 부분 패스하기
27+
if (request.getRequestURI().equals("/health-check")) {
28+
filterChain.doFilter(request, response);
29+
return;
30+
}
31+
2532
String authorizationHeader=request.getHeader("Authorization");
2633

2734
//JWT헤더가 있는 경우

0 commit comments

Comments
 (0)