Files
huang 4aab0bcbf2
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m39s
提案以及归档
2026-04-18 09:10:29 +08:00

1.7 KiB
Raw Permalink Blame History

Why

系统中需要操作密码验证的接口(如代理充值线下确认)目前使用当前登录用户自己的登录密码作为操作密码,缺乏独立的操作层安全机制。需要引入一个全局操作密码,仅由超级管理员设置和修改,所有需要操作密码的接口统一验证这一密码,实现"操作密码"与"登录密码"的职责分离。

What Changes

  • 新增 POST /api/admin/super-admin/operation-password 接口:超级管理员设置/修改全局操作密码
  • 新增 GET /api/admin/super-admin/operation-password/status 接口:查询操作密码是否已设置
  • 全局操作密码以 bcrypt 哈希值存储于 RedisKey 定义在 pkg/constants/redis.go
  • agent_recharge OfflinePay 的操作密码验证逻辑从"当前用户登录密码"改为"全局操作密码"
  • 新增统一工具函数 VerifyOperationPassword(ctx, inputPassword) 供后续接口复用

Capabilities

New Capabilities

  • global-operation-password:全局操作密码的设置、修改、验证能力,存储于 Redis仅超级管理员可维护

Modified Capabilities

(无已有 spec 变更)

Impact

层级 文件 变更类型
Handler internal/handler/admin/(新建 super_admin.go 新建
Service internal/service/(新建 operation_password/service.go 新建
Service internal/service/agent_recharge/service.go 修改验证逻辑
Constants pkg/constants/redis.go 新增 Redis Key 常量
Bootstrap internal/bootstrap/handlers.goservices.go 注册新组件
Routes 路由注册文件 新增路由

依赖Redis已有无需新增依赖