修正业务职责与主管关系事实(07-28-all-account-login-readiness)
这个提交包含在:
@@ -31,9 +31,10 @@
|
||||
|
||||
- [ ] 聚合复核 active 总数、密码登录覆盖、企微 binding 覆盖、企微成功登录覆盖和锁定数;不得输出人员明细。
|
||||
- [ ] 验证无 binding conflict、无角色变化、无企微通讯录写入、无异常会话残留。
|
||||
- [x] 只读确认唯一 active `manager` 与 `wangshunli` 目标账户,排除自环/环路后原子更新 `direct_manager_id`、写脱敏审计,并复核组织链;不改角色、邮箱、密码、binding 或企微通讯录。
|
||||
- [x] 曾按用户初次指令将唯一 active `manager` 的直属主管设为 `wangshunli`;用户随后澄清其仅为系统开发/系统管理员,该中间关系需按最终职责口径修正。
|
||||
- [x] 只读确认唯一 active `manager` 与 `majianyong` CEO 账户,排除自环/环路后原子将 `direct_manager_id` 从 `wangshunli` 修正为 `majianyong`、写脱敏审计,并复核组织链;不改角色、邮箱、密码、binding 或企微通讯录。
|
||||
- [x] 只读解析手工企微通讯录导出并与生产 OA 对账:6 个 userid/binding 和 6 个企业邮箱全部精确一致,缺失、重复、冲突、未匹配和需修改数均为 0。
|
||||
- [ ] `wangshunli` 当前没有正式业务审批角色;若要使 `manager` 本人报销可由其审批,需另行批准补齐规约预期的 `ceo` 角色,并在写入后进行权限模型只读复核。
|
||||
- [x] 只读确认 `majianyong` 保持 `ceo` 且无直属主管、`wangshunli` 不新增业务审批角色;生产只有 active `finance`、没有 active `finance_mgr`,CEO 本人报销在后续最小权限修正前保持阻断。
|
||||
- [x] 更新现有管理员手册/试运行 checklist:active 账号启用必须包含安全凭据交付、首次改密、密码登录和企微本人免登。
|
||||
- [x] 运行认证聚焦测试、前端 typecheck/build、Trellis task/governance、敏感扫描、文档审计和 `git diff --check`;生产部署后的公网 smoke test 仍待独立批准后执行。
|
||||
|
||||
|
||||
@@ -46,7 +46,8 @@
|
||||
- 密码重置必须使用现有审计接口或经单独批准的受控 break-glass 路径;生成的一次性密码仅在受控现场显示一次,首次登录立即改密。
|
||||
- 任何 binding 修正必须先证明目标 OA 员工和企微 userid 唯一对应;不得按姓名模糊匹配,不得修改企业微信通讯录成员。
|
||||
- 生产 binding、密码、账户状态或认证配置写入前另行给出精确变更清单并取得批准。
|
||||
- 经用户明确批准,将当前唯一 active `manager` 账户的 OA 直属主管指定为 `wangshunli`;仅更新 `Employee.direct_manager_id` 并写脱敏审计,不修改双方角色、邮箱、密码、binding 或企微通讯录。
|
||||
- 最终业务职责以用户最新确认口径为准:`majianyong` 是 `ceo`,`wangshunli` 仅承担系统开发和系统管理,不是业务审批人;当前唯一 active `manager` 的 OA 直属主管应为 `majianyong`。
|
||||
- `majianyong` 本人报销不配置直属主管、不允许自审,目标由 active 非本人 `finance` 审批;当前实现只支持 `finance_mgr` 且生产无持有人,本轮保持失败关闭并记录后续最小权限修正,不修改任何角色、邮箱、密码、binding、审批规则或企微通讯录。
|
||||
|
||||
## Decision: Credential Recovery
|
||||
|
||||
@@ -74,7 +75,8 @@
|
||||
- [ ] 所有属于当前企业微信通讯录的 active 账户均有唯一 binding,并完成本人企微真机登录验收。
|
||||
- [ ] 不存在 active 账户同时缺少可交付密码回退和可用企微 binding。
|
||||
- [ ] 所有重置、绑定、解锁、会话撤销均有 OA 审计且未扩角色、未修改企业微信通讯录。
|
||||
- [x] 当前唯一 active `manager` 的直属主管唯一解析为 active `wangshunli`,不存在自环或主管链环路,并有脱敏审计。
|
||||
- [x] 当前唯一 active `manager` 的直属主管唯一解析为 active `majianyong`,不存在自环或主管链环路,并有脱敏审计;`wangshunli` 不进入业务审批链。
|
||||
- [x] `majianyong` 保持 `ceo` 且无直属主管;其本人报销目标为 active 非本人 `finance`,当前 `finance_mgr` 配置缺口未修复前保持阻断且不发生自审。
|
||||
- [ ] 自动化、Trellis、敏感扫描、生产 `/ready` 和关联认证 smoke 通过后才通知员工测试。
|
||||
|
||||
## Definition of Done
|
||||
@@ -99,7 +101,7 @@
|
||||
- 不启用自助 OAuth onboarding,不重构认证架构,不放宽登录、绑定或账户管理权限。
|
||||
- 本轮不修改“邮箱验证码登录后首次改密仍要求旧密码”的认证流程。
|
||||
- 不启用会自动创建 OA 员工的通用企微 OAuth self-provisioning;本轮普通登录只允许匹配并绑定既有 active OA 账户。
|
||||
- 不顺带导入剩余通讯录成员、修改角色或业务审批规则;主管字段仅包含用户本轮明确批准的单条 `manager -> wangshunli` OA 关系。
|
||||
- 不顺带导入剩余通讯录成员、修改角色或业务审批规则;主管字段仅包含用户最终批准的单条 `manager -> majianyong` OA 关系。
|
||||
|
||||
## Technical Notes
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户