本卡屬 FR-132(母卡 CM-2510),A.3 判定層第 10 張。來源:A.5 開卡時 opus 查到、首腦開檔核實。依賴:T-3.8 補件(iam.user.assign 已開)。建議 model:opus。優先度高:A.5 指派頁一上線,使用者設的到期日會被任何一次存帳號默默清掉。

問題是什麼(白話)

管理員在帳號管理頁改一個人的電話並儲存,或那個人自己改個人資料儲存,後端都會把他「所有角色指派刪掉、照送來的清單重建」。重建時不帶生效日與到期日,所以原本「稽核員,至 2026-12-31 到期」存一次帳號就變成「永久」,畫面不報錯、沒人知道。T-3.8 做了獨立的指派 API 之後,到期日會是常用功能,這條路不堵掉指派頁等於白做。

在哪裡(首腦核過)

~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:277-288   update_user 把 payload 的 user_roles 轉 UserRoleEntity,只帶 role_uid/tenant_id/org_unit_id/scope/is_default,沒有 starts_at/ends_at
~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:352       delete_user_role_by_user_id(user.id) 全刪
~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:371       add_user_roles 重建
~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/api/routes/user_route.py            PUT /user/<uid>(管理員改帳號)與 PUT /user-profile/<uid>(本人改個人資料,從既有指派重組 user_roles 再送進同一條,同樣漏起訖)
~/Projects/Billows/Audit-Manager/compliance-manager-fe/src/views/user-manage/UserProfileForm.vue:189  FE 送 user_roles 的地方(A.5 T-5.5 會改成不送)

怎麼修

要寫測試

驗收條件

紀律