From 97959757d04fb9b6d1893d3acb7f9555f7594eeb Mon Sep 17 00:00:00 2001 From: chenxing Date: Tue, 11 Aug 2026 18:14:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E9=AA=8C=E7=AD=BE=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/OpenApiAuthEnforceConfiguration.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yunhai/userbase/config/OpenApiAuthEnforceConfiguration.java b/src/main/java/com/yunhai/userbase/config/OpenApiAuthEnforceConfiguration.java index d5523af..e540691 100644 --- a/src/main/java/com/yunhai/userbase/config/OpenApiAuthEnforceConfiguration.java +++ b/src/main/java/com/yunhai/userbase/config/OpenApiAuthEnforceConfiguration.java @@ -16,11 +16,13 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** - * 强制开放接口必须带应用签名。

+ * 强制开放接口必须带应用签名。
+ *
* yh-app-auth 的 {@link AppAuthFilter} 设计为「无签名头则放行」(以兼容浏览器 CAS 流), * 但 UserBase 作为用户中心的开放接口({/open/api/**})与内部密钥兜底端点({/oapi/internal/**}) * 绝不允许匿名访问。本过滤器在 {@code AppAuthFilter} 之后运行,校验其写入的请求属性: - * 已验签(属性存在)则放行,否则返回 401。

+ * 已验签(属性存在)则放行,否则返回 401。
+ *
* 顺序须晚于 {@code AppAuthFilter}(HIGHEST_PRECEDENCE+10),故置为 +11。 */ @Configuration @@ -30,7 +32,11 @@ public class OpenApiAuthEnforceConfiguration { public FilterRegistrationBean requireAppSignFilter() { FilterRegistrationBean bean = new FilterRegistrationBean<>(); bean.setFilter(new RequireAppSignFilter()); - bean.addUrlPatterns("/open/api/*", "/oapi/internal/*"); + // 两个路径体系必须全部强制验签: + // 1) /open/api/* : 过渡期旧路径(客户端 404 自动回退时会用) + // 2) /oapi/* : 新统一开放前缀(覆盖 /oapi/user/、/oapi/internal/、未来 /oapi/app/ + // /oapi/group/ 等) + bean.addUrlPatterns("/open/api/*", "/oapi/*"); bean.setOrder(Ordered.HIGHEST_PRECEDENCE + 11); return bean; }