portal-auth P4(#24 #25):admin 帳號+庫管理頁+last-admin 鎖死保護(不 merge,待總管審) #53

Merged
Leo merged 4 commits from portal-auth-p4-admin-ui into main 2026-07-14 08:54:42 +00:00

4 Commits

Author SHA1 Message Date
uncle6me-web fd94340eba portal-auth P4 收尾:tasks.md 全 [x]+wiki status P4 段(SDD P1-P4 全完成,待 T6-cloud 排練)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 15:38:46 +08:00
uncle6me-web 605204511f portal-auth P4:admin 測試 14 項(鎖死保護/一次性密碼不落庫/庫目錄/HTML 紅線)
last-admin 409(含另一 admin 是 disabled 不算數、停用一般 user 不多打 list);
generated_password/reset-password 一次性回傳且明碼不進 KBDB body;libraries
["*"] 與壞庫名 400;庫目錄子 namespace+graph_source;/portal HTML 殼加 admin
頁後仍零租戶字串/零 /kbdb//零 X-Arcrun-API-Key/零 Mira。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 15:32:42 +08:00
uncle6me-web fa64e71b58 portal-auth P4:/portal 管理頁 UI(帳號管理+庫目錄管理,admin-only nav)
- 帳號管理:同仁列表(email/顯示名/角色/狀態/可查庫)+新增(一次性密碼只顯示
  一次,server 不留明碼)+停用/啟用+重設密碼+每帳號勾選可查庫(含 ["*"] 全庫
  選項,勾選連動停用個別庫)
- 庫目錄管理:登記/停用庫+graph_source 圖譜來源標記(D-4)
- nav 只對 admin 顯示(/portal/session role);前端藏只是 UX,真閘在
  /portal/admin/* role 閘 403(P3 guard 精神)
- 工作流頁 P3 已交付(v-workflows+D-8 閘),本次不重做

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 15:32:42 +08:00
uncle6me-web 2b563b0fa8 portal-auth P4:最後一個 active admin 鎖死保護(停用/降級 → 409)
系統至少保留一個 active admin——bootstrap 只能跑一次(已有 admin 409),
若最後一個 admin 被停用/降級,帳號管理即永久鎖死。只在「目標是 active admin
且 patch 會使其失格」時多打一次 list(平時零成本)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 15:32:42 +08:00