From 762e2041d9a14b94b845cc5588436776be0223ae Mon Sep 17 00:00:00 2001 From: jeongchanmin Date: Wed, 24 Jul 2024 16:27:16 +0900 Subject: [PATCH 1/3] =?UTF-8?q?:recycle:=20[Refactor]=20health=20check=20?= =?UTF-8?q?=ED=86=A0=ED=81=B0=20=EA=B2=80=EC=82=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/WatchWithMe/global/config/jwt/CustomJwtFilter.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java b/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java index 9ad0559..87b1510 100644 --- a/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java +++ b/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java @@ -29,6 +29,12 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha String jwt = resolveToken(req); String requestURI = req.getRequestURI(); + // health check 제외 + if (requestURI.startsWith("/health")) { + chain.doFilter(request, response); + return; + } + // 토큰 유효성 검사 if (StringUtils.hasText(jwt) && tokenProvider.validateToken(jwt)) { // 토큰에 이상이 없는 경우 // 토큰에서 사용자명, 권한을 추출하여 스프링 시큐리티 사용자를 만들어 Authentication 반환 From a0cec652dbd069c05dbbe57354254b31f249a629 Mon Sep 17 00:00:00 2001 From: jeongchanmin Date: Wed, 24 Jul 2024 16:27:25 +0900 Subject: [PATCH 2/3] =?UTF-8?q?:recycle:=20[Refactor]=20=EC=8A=A4=EC=BC=80?= =?UTF-8?q?=EC=A4=84=EB=A7=81=20=EC=8B=9C=EA=B0=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/WatchWithMe/global/config/SchedulerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/WatchWithMe/global/config/SchedulerConfig.java b/src/main/java/WatchWithMe/global/config/SchedulerConfig.java index 79e054a..ae2d478 100644 --- a/src/main/java/WatchWithMe/global/config/SchedulerConfig.java +++ b/src/main/java/WatchWithMe/global/config/SchedulerConfig.java @@ -19,7 +19,7 @@ public class SchedulerConfig implements SchedulingConfigurer { private final int POOL_SIZE = 10; // 스레드 풀 사이즈 private final MovieService movieService; - @Scheduled(initialDelay=1000, fixedDelay=60000 * 5) // 5분 마다 수행 + @Scheduled(initialDelay=1000, fixedDelay = 1000 * 60 * 60 * 24) // 24시간마다 실행 public void updateMovieList() { try { movieService.updateMovieList(); From 2cfde7daaf6c29412c52600d1623a214bc76d6f9 Mon Sep 17 00:00:00 2001 From: jeongchanmin Date: Wed, 24 Jul 2024 17:04:40 +0900 Subject: [PATCH 3/3] =?UTF-8?q?:recycle:=20[Refactor]=20health=20check=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EB=B0=9C=EC=83=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/WatchWithMe/global/config/SecurityConfig.java | 4 ++-- .../WatchWithMe/global/config/jwt/CorsFilterConfig.java | 1 + .../WatchWithMe/global/config/jwt/CustomJwtFilter.java | 8 +------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/java/WatchWithMe/global/config/SecurityConfig.java b/src/main/java/WatchWithMe/global/config/SecurityConfig.java index b2fe631..d1dfdbe 100644 --- a/src/main/java/WatchWithMe/global/config/SecurityConfig.java +++ b/src/main/java/WatchWithMe/global/config/SecurityConfig.java @@ -36,8 +36,6 @@ public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(c -> c.disable()) - .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class) - .addFilterBefore(customJwtFilter, UsernamePasswordAuthenticationFilter.class) .sessionManagement(c -> c.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .exceptionHandling(c -> { c.authenticationEntryPoint(jwtAuthenticationEntryPoint).accessDeniedHandler(jwtAccessDeniedHandler); @@ -58,6 +56,8 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/api/v1/admin/**").hasAuthority("ADMIN") .anyRequest().authenticated(); }); + http.addFilterBefore(customJwtFilter, UsernamePasswordAuthenticationFilter.class) + .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class); return http.build(); } diff --git a/src/main/java/WatchWithMe/global/config/jwt/CorsFilterConfig.java b/src/main/java/WatchWithMe/global/config/jwt/CorsFilterConfig.java index 939bc12..02bc93d 100644 --- a/src/main/java/WatchWithMe/global/config/jwt/CorsFilterConfig.java +++ b/src/main/java/WatchWithMe/global/config/jwt/CorsFilterConfig.java @@ -18,6 +18,7 @@ public CorsFilter corsFilter() { config.addAllowedMethod("*"); source.registerCorsConfiguration("/api/**", config); + source.registerCorsConfiguration("/health", config); return new CorsFilter((CorsConfigurationSource) source); } diff --git a/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java b/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java index 87b1510..e892239 100644 --- a/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java +++ b/src/main/java/WatchWithMe/global/config/jwt/CustomJwtFilter.java @@ -29,12 +29,6 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha String jwt = resolveToken(req); String requestURI = req.getRequestURI(); - // health check 제외 - if (requestURI.startsWith("/health")) { - chain.doFilter(request, response); - return; - } - // 토큰 유효성 검사 if (StringUtils.hasText(jwt) && tokenProvider.validateToken(jwt)) { // 토큰에 이상이 없는 경우 // 토큰에서 사용자명, 권한을 추출하여 스프링 시큐리티 사용자를 만들어 Authentication 반환 @@ -42,7 +36,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha SecurityContextHolder.getContext().setAuthentication(authentication); log.info("Security Context에 " + authentication.getName() + "인증 정보를 저장했습니다. URI : " + requestURI); } else { - log.info("유효한 JWT 토큰이 없습니다. URI: " + requestURI); + log.info("유효한 JWT 토큰이 없습니다. URI : " + requestURI); } chain.doFilter(request, response);