wwh пре 3 недеља
родитељ
комит
1298a6dd78

+ 13 - 2
huimv-employment/fe-api/src/main/java/com/huimv/employment/security/JwtAuthFilter.java

@@ -21,7 +21,7 @@ import java.io.IOException;
21 21
 import java.nio.charset.StandardCharsets;
22 22
 
23 23
 /**
24
- * JWT 鉴权过滤器:保护 /api/v1/mp/** 接口(auth 匿名除外)。
24
+ * JWT 鉴权过滤器:保护 /api/v1/mp/** 接口(auth、health 匿名路径除外)。
25 25
  */
26 26
 @Component
27 27
 @Order(Ordered.HIGHEST_PRECEDENCE + 20)
@@ -29,6 +29,12 @@ public class JwtAuthFilter extends OncePerRequestFilter {
29 29
 
30 30
     private static final AntPathMatcher PATH_MATCHER = new AntPathMatcher();
31 31
 
32
+    /** 无需 JWT 的 mp 接口路径 */
33
+    private static final String[] ANONYMOUS_PATTERNS = {
34
+            "/api/v1/mp/auth/**",
35
+            "/api/v1/mp/health"
36
+    };
37
+
32 38
     private final JwtTokenService jwtTokenService;
33 39
     private final ObjectMapper objectMapper;
34 40
 
@@ -43,7 +49,12 @@ public class JwtAuthFilter extends OncePerRequestFilter {
43 49
         if (!path.startsWith("/api/v1/mp/")) {
44 50
             return true;
45 51
         }
46
-        return PATH_MATCHER.match("/api/v1/mp/auth/**", path);
52
+        for (String pattern : ANONYMOUS_PATTERNS) {
53
+            if (PATH_MATCHER.match(pattern, path)) {
54
+                return true;
55
+            }
56
+        }
57
+        return false;
47 58
     }
48 59
 
49 60
     @Override