From 8c0244dfa00d70ccc7ab4947c7f8a05d8709a227 Mon Sep 17 00:00:00 2001 From: figmar Date: Sun, 9 Aug 2026 13:04:21 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=20README=20=E2=80=94?= =?UTF-8?q?=20=E5=8E=BB=E5=8E=86=E5=8F=B2=E5=8C=96=EF=BC=8C=E5=85=B3?= =?UTF-8?q?=E8=81=94=20apes-Authon=20=E7=BB=84=E7=BB=87=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 标题改为 apes-Authon-Server - 移除 apes-Authdata 引用,以全新面貌展示 - 关联仓库更新为组织地址(Server/Web/history) - 路线图阶段编号调整(Phase 5-7) --- README.md | 41 +++++++++++++++++++++++++++------------- docs/账权模块提取说明.md | 3 +-- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 7060997..17631a9 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,19 @@ -# apes-Authon — 账权独立服务 +# apes-Authon-Server — 账权独立服务后端 -> 从 saas-service(账权平台)提取的纯净认证/授权/用户/角色/权限/多租户体系 +> Spring Boot 独立账权服务平台 — 认证 / 授权 / 用户 / 角色 / 权限 / 多租户 / SSO > **已通过编译验证**,可作为独立微服务运行 ## 项目背景 -本项目源自 `saas-service`(账权平台)单体应用,经过耦合度分析确认账权模块与业务模块零直接 Service 调用,具备独立服务化条件。本仓库是提取后的纯净账权代码,不包含任何业务逻辑(溯源、称重、水肥、巡检、维修、农大同步等)。 +apes-Authon 是一套从单体应用中提取的纯净认证授权服务,包含完整的用户管理、角色权限、菜单体系、多租户、客户套餐和 SSO 单点登录能力。本服务与业务系统零直接耦合,通过 Token + Redis 会话实现独立认证。 -### 提取依据 +### 核心特性 -- AuthContext 被 52 个文件 / 111 处引用,但业务 Service → 账权 Service 直接调用为 **0 个** -- 账权模块仅通过 ThreadLocal(AuthContext)与业务模块间接耦合 -- 新增业务模块(如巡检、维修)均不直接调用账权 Service,验证了独立服务化的可行性 +- **多租户架构**:基于 `@TenantSource` AOP 切面 + dynamic-datasource 实现运行时数据源切换 +- **认证体系**:`@Login` 注解 + `AuthContext` ThreadLocal + Redis 会话,业务代码无感知 +- **权限模型**:菜单 → 权限码 → 角色 → 成员角色的四级权限体系 +- **SSO 集成**:内置伙伴云单点登录 Token 交换 +- **外部 API 鉴权**:AccessToken 机制,支持 Bearer / X-Access-Token 两种方式 ## 技术栈 @@ -101,7 +103,7 @@ src/main/java/cn/apes/ ### Phase 1: apes-commons 内联 ✅ - 反推 7 个核心类接口(AuthContext/Login/LoginUser/LoginCustomer/UserSession/Res/DbEntity) -- 实现 LoginAspect AOP 切面(原在外部 JAR 中) +- 实现 LoginAspect AOP 切面 - 移除外部 JAR 依赖,pom.xml 无需手动安装 ### Phase 2: 包名重构 ✅ @@ -117,14 +119,21 @@ src/main/java/cn/apes/ - 创建 `IpLocationService` 接口 + 桩实现 - **124 个源文件编译通过** +### Phase 4: 提交推送 ✅ +- 代码推送到 Gitea 组织仓库 + ## 待完成事项 -### Phase 4: SDK 化 +### Phase 5: 模块补充 +- [ ] AI 助手/LLM 模块提取(~54 Java 文件) +- [ ] 伙伴云表单配置模块提取(5 Controller + 7 .vue + 1 API) + +### Phase 6: SDK 化 - [ ] 将 `AuthContext` 改造为可远程调用的 SDK - [ ] 提供 `authon-sdk` 模块供业务系统引用 - [ ] Token 校验改为 HTTP API 调用 -### Phase 5: 网关集成 +### Phase 7: 网关集成 - [ ] 接入 API 网关(Spring Cloud Gateway / Nginx) - [ ] 请求头注入认证信息(替代 ThreadLocal) - [ ] 多租户数据源改为网关路由模式 @@ -166,6 +175,12 @@ java -jar target/apes-authon.jar ## 关联仓库 -- 源仓库:[apes-Authdata](https://gitea.apescale.com/figmar/apes-Authdata) — 完整单体应用(含业务代码) -- 方案文档:`docs/账权模块独立服务化方案.html`(在 apes-Authdata 仓库中) -- 源码对比:`docs/源码版本对比分析-20260809.md`(在 apes-Authdata 仓库中) +| 仓库 | 说明 | 地址 | +|------|------|------| +| apes-Authon-Server | 后端账权服务(本仓库) | https://gitea.apescale.com/apes-Authon/apes-Authon-Server | +| apes-Authon-Web | 前端账权管理 | https://gitea.apescale.com/apes-Authon/apes-Authon-Web | +| apes-Authon-history | 剥离历史与分析归档 | https://gitea.apescale.com/apes-Authon/apes-Authon-history | + +## License + +MIT diff --git a/docs/账权模块提取说明.md b/docs/账权模块提取说明.md index 26ec8a8..f3c7846 100644 --- a/docs/账权模块提取说明.md +++ b/docs/账权模块提取说明.md @@ -1,8 +1,7 @@ # 账权模块提取说明 > 提取日期:2026-08-09 -> 源仓库:apes-Authdata (saas-service) -> 目标仓库:apes-Authon +> 目标仓库:apes-Authon-Server ## 一、提取原则