Files
Agent-System/.doc/ops/short-term/2026-09-28-restore-admin-password-reset.md
T
weichen e1f2c9c57f docs(current): mark password-reset restore done
The UI candidate is already on local dev; record the five-state closeout.
2026-09-28 00:56:49 +00:00

3.0 KiB
Raw Blame History

title, task_id, status, created, updated, owner, task_type, policy_revision, branch, worktree, base_dev_sha, write_scope, mutex, review_state, integration_state, deployment, cleanup, remote_sync
title task_id status created updated owner task_type policy_revision branch worktree base_dev_sha write_scope mutex review_state integration_state deployment cleanup remote_sync
恢复管理台重置密码入口 restore-admin-password-reset-2026-09-28 done 2026-09-28 2026-09-28 Cursor fix AGENTS.md + agent-worktree-workflow @ 2026-09-21 feature/restore-admin-password-reset-2026-09-28 .worktrees/restore-admin-password-reset-2026-09-28 912957c44e
web
.doc
auth accepted merged_local_dev not_required pending not_requested

恢复管理台「重置密码」

用户目标与授权

管理员在「用户与准入治理」重置用户密码:服务端生成随机临时口令;被重置用户下次登录必须修改密码,且仅这一次。来源:用户当次会话授权修复,禁止移除该能力。

检索

  • 检索词:重置密码、adminResetPassword、UsersSection、T20-F4。
  • 命中:ISSUE-20260924-admin-reset-dead(resolved)。端点 POST /api/v1/admin/users/{id}/reset-password 已在 39f8c1d1 合入,且 d653e32e 的基线 725181de 包含该提交。
  • 采纳:不重做 API、审计表或强制改密弹窗。本任务只恢复被误删的 UI。根因不同,另立 ISSUE-20260928-admin-reset-ui-removed。
  • catalog overlap(mutex auth):hard/soft 均为空,无需 ack。

根因

d653e32e(T20-S1 F4-A)按过期设计注释删除了 UsersSection 的「重置密码」按钮和 handleResetUserPassword,并写明「端点未开通」。当时 F4-B 端点、authClient.adminResetPassword、must_change_password 与 FirstLoginPasswordModal 均已在 dev。同类入口(停用、编辑资料)未受影响。

变更

项 说明
UI 恢复确认框、adminResetPassword、一次性临时口令提示、成功通知
后端 无改动。随机 16 位口令、must_change_password=true、撤销会话、审计表保持 F4-B 行为

验证

见 测试报告。

ISSUE-20260928-admin-reset-ui-removed

  • 预期:管理员可在用户与准入治理重置密码。
  • 实际:按钮消失;后端路由仍在 internal/server/server.go。
  • 已证实根因:F4-A 在端点已存在的基线上删除 UI,注释与 git merge-base 事实不符。
  • 修复:恢复 web/src/components/admin/console/sections/UsersSection.tsx 入口。
  • 状态:resolved。UI 已随 04d7fec4 合入 local dev;证据见测试报告。

经验小结

删除「端点未开通」的界面前,用当前基线 SHA 核对路由是否已存在(git merge-base --is-ancestor),不要只信设计文档里的「待产品选型」。详见 LESSON-20260928-ui-dead-control。

禁止

  • 未授权 git push / 晋升 test/main
  • 临时口令写入 git、聊天或报告正文