zizi
|
f0c4e810cb
|
fix(passport): e2e双P0修复——匿名写路径审计列兜底×5写点 + 手机号/验证码明文日志两面合围
- P0-1: @PermitAll匿名无登录态→DefaultDBFieldHandler不填creator/updater撞NOT NULL(V11漏继承审计列,与M-b执行器updater雷同根)。修=Service写点显式兜底"0"(注册/会话开局/会话收尾UPDATE形态/遥测batch+beacon共点/ad计费台账),归属维度user_id/anon_id/creator_user_id不受影响
- P0-2: ApiAccessLogInterceptor非prod无条件打印原始请求体(不读@ApiAccessLog注解,framework不可改)→staging抬该logger至WARN关控制台面+三端点sanitizeKeys脱敏持久化面;SmsSendConsumer脱敏mobile、code不打印
- 单测: 4模块匿名落库creator='0'断言+登录态不强置负向对照
- e2e第一轮判定: E3/E8/E12/UI过门;E2/E4/E6/E7/E1/E13被P0-1阻断待二轮重跑
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 10:31:42 +00:00 |
|
zizi
|
b0850a2ad9
|
feat(passport): 鉴权建设波——V11契约+system passport子包+14端点@PermitAll+白名单挂点+剔除桩+前端登录守卫
- 契约先行: V11.0.0 双落点(game_player/game_invite_code/runtime_session匿名兼容ALTER) + passport.yaml(4 app+4 admin) + events登记user_login
- B1 system侧: passport独立子包(fork隔离), 验证码+邀请码旁路登录注册一体, OAuth2 MEMBER token(client=default已核), 错误码1_002_090/091远段, PlayerApi @Primary本地化(mock豁免裁决=无行+mockEnable放行), R6限频(IP 10次/h+Redis日/时双闸), 25单测
- B2 存量: @PermitAll恰好14端点(主agent grep复核, 不放行名单零触碰), 匿名session(player_user_id可空+anon_id), 白名单5挂点(studio/aigc/project), ad计费限频, telemetry剔除桩(照落库不进聚合+Redis降级放行), EnvelopeReqVO文案回写
- F1 前端: 登录页两Tab+占位协议, isRealLogin守卫(isLogin恒真不可用), 401统一拦截, 互动转正onInteract单入口gating, user_login遥测双带; test1批跑路径原样保留(主agent复核)
- 三面对抗核验全pass零blocker; 构建门待mini-desktop(本机禁构建铁律)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 09:40:10 +00:00 |
|
zizi
|
8565fa242e
|
fix(wave3-staging): 去除 system/infra-server pom 的 repackage(修 admin-api 控制器单体内 404)
真因(比"嵌套Feign回环"诊断更深):yudao-module-system-server / infra-server 的 pom 带
spring-boot-maven-plugin repackage,被打成可执行 boot jar(class 落 BOOT-INF/classes/+Main-Class)。
作为 yudao-server fat jar 的嵌套依赖库时,Spring Boot 嵌套类加载器只读 jar 根 class、读不到
BOOT-INF/classes/ → system/infra 的 controller/service/@Primary 实现全加载不进 → /admin-api/system|infra/* 404,
且 game admin @PreAuthorize 经 Feign 回环到死掉的 rpc-api/system/permission 也 404。app-api 正常因 game 模块是普通库 jar。
修法:2 个 pom 去掉 repackage 改回纯库 jar(同 game-module-*-server)。
验证(主 agent 独立):BUILD SUCCESS;system-server 181MB→1.3MB、infra 172MB→601KB,UserController.class 落 jar 根、无 Main-Class;
mini-desktop 运行态 /admin-api/system/user/page→code:0 返 20 真实用户、/admin-api/ad/slot/page→code:0、/app-api/feed/stream 回归 200。
注:其余被注释未 bundle 的 yudao 模块(bpm/pay/member)pom 仍带 repackage,本波不动(不在 fat jar 内);将来 bundle 须同样去掉。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-09 05:26:30 +00:00 |
|
zizi
|
d7fac9038d
|
fix(wave3-staging): yudao 单体启动装配修复 + application-staging.yaml(mini-desktop 真启动通过)
首次真启动整个 yudao-server 单体暴露预存装配缺陷(此前只验编译+单测)。按 live 错误栈两层根因修复:
- 撤销 yudao-server/pom.xml 对 spring-cloud-starter-openfeign 的排除——framework starter
(YudaoSecurityRpcAutoConfiguration 等)自带 @EnableFeignClients 需 openfeign 在 classpath
- 补 yudao 上游漏标的 primary=false:OAuth2TokenCommonApi/TenantCommonApi/ApiAccessLogCommonApi/
ApiErrorLogCommonApi 四个 @FeignClient + 对应 4 个 *ApiImpl 加 @Primary(同 PermissionApiImpl 范式),
使单体内本地实现胜过 Feign 远程代理
- application-staging.yaml:DB/Redis→隔离容器 13306/16379(${ENV} 占位非明文)、nacos/xxl 关、
mock-enable、tenant.enable=false(单租户)、openfeign 回环 48080
验证(主 agent 独立 mini-desktop 观测 + 本机编译):Started YudaoServerApplication;Flyway V1-V9 全 success;
24 张 game_* 表;/v3/api-docs 87 paths 9 模块无 game/ 前缀;POST /app-api/project/1/publish→admitted+gates 含 key=compliance;
本机 mvn -am compile BUILD SUCCESS。Application.java 未改(原 @EnableFeignClients 假设会致双 primary 冲突,实测不需要)。
P1 遗留:admin-api @PreAuthorize 端点撞 yudao 单体嵌套 Feign 回环 404(app-api 主链路不受影响)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-09 04:55:23 +00:00 |
|