perf: 精简 fat jar 体积(34MB→18MB)+ Basic 认证增加 authFlag 总开关
- pom 移除未使用依赖:sqlite-jdbc(Agent 已拆 Python)、h2(dev Mock)、 sa-token-solon-plugin(鉴权已改手写 Basic),并清理对应版本属性 - OrderApi.checkBasic 增加 order.authFlag 总开关(默认 true,对齐原程序 sa-token.authFlag 语义,false 时 /order/** 全放行) - app.yml 增加 order.authFlag 配置项 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -33,10 +33,6 @@
|
||||
<!-- 数据库驱动(solon-parent 不管理) -->
|
||||
<ojdbc.version>23.3.0.23.09</ojdbc.version>
|
||||
<mssql-jdbc.version>12.6.1.jre11</mssql-jdbc.version>
|
||||
<sqlite-jdbc.version>3.46.1.0</sqlite-jdbc.version>
|
||||
|
||||
<!-- 鉴权 -->
|
||||
<sa-token.version>1.39.0</sa-token.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -111,35 +107,18 @@
|
||||
<version>${mssql-jdbc.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- SQLite(B 端 Agent 用) -->
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>${sqlite-jdbc.version}</version>
|
||||
</dependency>
|
||||
<!-- 已移除依赖说明(精简 jar 体积):
|
||||
- sqlite-jdbc:原为 B 端 Agent 用,Agent 已拆分为独立 Python 项目
|
||||
- h2:开发 Mock 数据源,需要时本地临时加回
|
||||
- sa-token-solon-plugin:鉴权已改为 OrderApi 手写 HTTP Basic
|
||||
-->
|
||||
|
||||
<!-- H2(开发 Mock 数据源) -->
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
<version>2.3.232</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- ========== HTTP / WebSocket(Agent 用) ========== -->
|
||||
<!-- ========== HTTP(UptimeKuma 心跳用) ========== -->
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- ========== 鉴权(可选,按需启用) ========== -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-solon-plugin</artifactId>
|
||||
<version>${sa-token.version}</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!-- ========== JSON 解析(Solon 生态标准库) ========== -->
|
||||
<dependency>
|
||||
<groupId>org.noear</groupId>
|
||||
|
||||
@@ -41,12 +41,17 @@ public class OrderApi {
|
||||
|
||||
/**
|
||||
* 全接口 Basic 认证(等价原程序 SaServletFilter 对 /order/** 的 SaBasicUtil.check())。
|
||||
* order.authFlag 总开关(默认 true);order.basic("user:password")为账号。
|
||||
* 校验失败返回 401 并带 WWW-Authenticate 头(浏览器弹登录框、B 端感知未授权)。
|
||||
*/
|
||||
private void checkBasic(Context ctx) {
|
||||
// authFlag=false 时整体关闭鉴权(对齐原程序 sa-token.authFlag 开关语义)
|
||||
if (!Solon.cfg().getBool("order.authFlag", true)) {
|
||||
return;
|
||||
}
|
||||
String expected = Solon.cfg().get("order.basic", "");
|
||||
if (expected == null || expected.trim().isEmpty()) {
|
||||
return; // 未配置放行(兼容与调试;生产环境必须配置)
|
||||
return; // 未配置账号放行(兼容与调试;生产环境必须配置)
|
||||
}
|
||||
|
||||
String auth = ctx.header("Authorization");
|
||||
|
||||
@@ -38,6 +38,8 @@ hm:
|
||||
# 格式 "user:password",未配置时放行;生产环境必须配置
|
||||
# order.basic: "hmapiuser:xxxx"
|
||||
order:
|
||||
# 鉴权总开关(对齐原程序 sa-token.authFlag),false 时 /order/** 全放行
|
||||
authFlag: true
|
||||
basic: ""
|
||||
# /api/admin/** 的管理 Token(Agent 环回调用携带 X-Admin-Token 头),未配置时放行
|
||||
admin:
|
||||
|
||||
Reference in New Issue
Block a user