ZC-MM-006 审计与权限回收(阶段4)
- T01: V055 audit_logs 扩展 4 字段(purpose_code/service_assignment_id/actor_role_snapshot/request_trace_id, 全可空幂等) + AuditLog/DataScopeGuard/AuthorizationAuditListener/MatchmakerServiceService 写入链路改造 + schema-h2 同步 + LATEST_MIGRATION 54→55 - T02: JwtAuthFilter 运营分支改实时查库权限回收(每请求查 operators.status + 权限, 停用即401/撤权即403, 零缓存, claims 权限降级只写不读), 不碰 SecurityConfig/JwtTokenService/用户端 - T03: getServiceDetail 持有人分支接入 SensitiveAccessLog(成功查看落行 dataType=matchmaker_service_detail, 拒绝路径只落 audit_logs DATA_SCOPE_DENIED, 双记录结构性互斥) - T04: 写接口 404 统一防探测(transfer/revoke/end/recommend/followup/complete/转介范围违规 404 化 deny, 先审计后 404, create/assign 无资源寻址维持 403, ReferralService 消灭裸 IllegalArgumentException) - T05: OperatorEndpointPermissionCoverageTest +3 守卫(类级 RequestMapping 前缀合成/缺类级则逐方法 PreAuthorize/matchmaker+referral 禁 PatchMapping) + run-backend-contracts CURATED 14→18 - 新增测试 4 类 20 用例: MatchmakerAuditFieldsTest / OperatorPermissionRevocationTest / MatchmakerSensitiveAccessAuditTest / MatchmakerWriteDenyUniformityTest - 验证: mvn verify 884/884(3 skip) + UI 契约 24/24 + 后端契约门禁 198 通过; 负向注入 5(工程师)+2(QA) 判红→还原复绿; QA fresh eyes 独立验收 PASS(0 P0/P1, 2 P2 观察项移交 ZC-MM-007) - ContactAuthorizationPolicy 维持 DEFERRED; C 端死代码退役评估 3 项留待 007/专项治理
This commit is contained in:
@@ -45,6 +45,11 @@ const backendTestRoot = resolve(root, 'backend', 'src', 'test', 'java')
|
||||
// 若 @RequestBody 被再度收窄为 Map<String,String>,数组值反序列化失败即 400
|
||||
// (现象:「小程序提交资料后,管理员点通过直接报错」)。
|
||||
// ReviewControllerRequestBodyContractTest
|
||||
// 第 15~18 项(2026-10-11,ZC-MM-006):
|
||||
// MatchmakerAuditFieldsTest —— audit_logs 扩展审计字段(V055)写入/兼容/拒绝快照
|
||||
// OperatorPermissionRevocationTest —— JWT 权限回收实时查库(禁用 401 / 撤权 403+审计)
|
||||
// MatchmakerSensitiveAccessAuditTest —— 服务详情敏感访问日志(success 行 / 双记录互斥)
|
||||
// MatchmakerWriteDenyUniformityTest —— 写接口 404 统一防探测(5 拒绝 ≡ 读详情 404)
|
||||
// 新增/删减请同步修改本数组(下限随之变化)。
|
||||
const CURATED = [
|
||||
'AuthServiceRefreshTtlTest',
|
||||
@@ -61,6 +66,10 @@ const CURATED = [
|
||||
'PhotoUploadValidationTest',
|
||||
'OperatorAuthServiceTest',
|
||||
'ReviewControllerRequestBodyContractTest',
|
||||
'MatchmakerAuditFieldsTest',
|
||||
'OperatorPermissionRevocationTest',
|
||||
'MatchmakerSensitiveAccessAuditTest',
|
||||
'MatchmakerWriteDenyUniformityTest',
|
||||
]
|
||||
|
||||
const MIN_GUARDS = Number(process.env.BACKEND_GUARDS_MIN ?? CURATED.length)
|
||||
|
||||
Reference in New Issue
Block a user