From dcc6821d10b1c7c59d3329a8492564505baa9c20 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 14 May 2025 15:06:02 +0900 Subject: [PATCH] loopback --- src/main/java/co/jp/app/common/ApiResponse.java | 4 ++++ src/main/java/co/jp/app/config/security/SecurityConfig.java | 1 + .../app/config/security/filter/JwtAuthenticationFilter.java | 3 +++ src/main/java/co/jp/app/exception/GlobalExceptionHandler.java | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/co/jp/app/common/ApiResponse.java b/src/main/java/co/jp/app/common/ApiResponse.java index 8935c64..fa0bc72 100644 --- a/src/main/java/co/jp/app/common/ApiResponse.java +++ b/src/main/java/co/jp/app/common/ApiResponse.java @@ -11,6 +11,10 @@ public class ApiResponse { //数据 private T data; + //空构造函数 + private ApiResponse() { + } + private ApiResponse(ResultCode resultCode, T data) { this.code = resultCode.getCode(); this.message = resultCode.getMessage(); diff --git a/src/main/java/co/jp/app/config/security/SecurityConfig.java b/src/main/java/co/jp/app/config/security/SecurityConfig.java index b0af187..6b40bbc 100644 --- a/src/main/java/co/jp/app/config/security/SecurityConfig.java +++ b/src/main/java/co/jp/app/config/security/SecurityConfig.java @@ -46,6 +46,7 @@ public class SecurityConfig { return authenticationConfiguration.getAuthenticationManager(); } + // http config @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(AbstractHttpConfigurer::disable) diff --git a/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java b/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java index 2156dd0..12f3660 100644 --- a/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java +++ b/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java @@ -35,14 +35,17 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { final String jwt; final String username; + //不需要token,直接返回Chain if (authHeader == null || !authHeader.startsWith("Bearer ")) { filterChain.doFilter(request, response); return; } + //透过token读取username jwt = authHeader.substring(7); username = jwtService.extractUsername(jwt); + //如果username为空且认证为空 if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) { UserDetails userDetails = this.userDetailsService.loadUserByUsername(username); if (jwtService.isTokenValid(jwt, userDetails)) { diff --git a/src/main/java/co/jp/app/exception/GlobalExceptionHandler.java b/src/main/java/co/jp/app/exception/GlobalExceptionHandler.java index 0482aaf..8538c62 100644 --- a/src/main/java/co/jp/app/exception/GlobalExceptionHandler.java +++ b/src/main/java/co/jp/app/exception/GlobalExceptionHandler.java @@ -23,7 +23,7 @@ import java.util.stream.Collectors; @RestControllerAdvice public class GlobalExceptionHandler { - // 日志记录器 + // slf4j日志记录器 private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); // 业务异常