财务花名册准入与钉钉授权自动开户 #114

Merged
WuYongJie merged 2 commits from fix/WuYongJie-dingtalk-session-security into main 2026-09-08 06:14:46 +08:00
Owner

钉钉首次授权后,财务花名册内的人员直接自动创建普通账号并登录,无需再次注册或申请绑定。准入覆盖简尚财务中心、龙晨品牌中心财务中心及各自下级部门;按企业 userid 和花名册 flowerNameId 对应,不按姓名、邮箱或手机号认领他人账号。

实现涉及 Auth Controller、FinanceRoster/DingTalkClosedAccess、会话中间件、权限对象选择、首页空权限提示及相关测试。复用 operations_replica 的固定参数化单人只读查询,覆盖花名册、员工/任职/离职和部门祖先链;不引入 HR 全量镜像或数据库迁移。新账号使用普通角色,未配置业务权限时进入已登录提示页,管理员可继续分配权限。

会话绑定 OAuth state;钉钉不签发长期 remember cookie。解绑、停用在下一请求失效,HR 范围每 5 分钟复核;HR 故障时不使用过期授权提供数据。自动开户账号改用密码登录也不能绕过花名册。

验证:39 项测试 / 197 个断言通过,隔离内存 SQLite 与虚构身份;3 名真实 HR 有效样本仅做只读判断,均通过。生产节点只读查询确认两棵部门树可达。浏览器检查虚构账号 Blade 页面桌面/窄屏及管理说明,权限保存与跳转通过 HTTP 测试。

涉及权限与认证配置,不涉及金额、数据库结构或生产写入。尚未部署、未进行真实扫码开户。发布时须核对并切换正式域名回调、获准后处理旧版会话和 remember 令牌;详见 docs/钉钉花名册登录.md。原工作区未跟踪资料保持不变。

钉钉首次授权后,财务花名册内的人员直接自动创建普通账号并登录,无需再次注册或申请绑定。准入覆盖简尚财务中心、龙晨品牌中心财务中心及各自下级部门;按企业 userid 和花名册 flowerNameId 对应,不按姓名、邮箱或手机号认领他人账号。 实现涉及 Auth Controller、FinanceRoster/DingTalkClosedAccess、会话中间件、权限对象选择、首页空权限提示及相关测试。复用 operations_replica 的固定参数化单人只读查询,覆盖花名册、员工/任职/离职和部门祖先链;不引入 HR 全量镜像或数据库迁移。新账号使用普通角色,未配置业务权限时进入已登录提示页,管理员可继续分配权限。 会话绑定 OAuth state;钉钉不签发长期 remember cookie。解绑、停用在下一请求失效,HR 范围每 5 分钟复核;HR 故障时不使用过期授权提供数据。自动开户账号改用密码登录也不能绕过花名册。 验证:39 项测试 / 197 个断言通过,隔离内存 SQLite 与虚构身份;3 名真实 HR 有效样本仅做只读判断,均通过。生产节点只读查询确认两棵部门树可达。浏览器检查虚构账号 Blade 页面桌面/窄屏及管理说明,权限保存与跳转通过 HTTP 测试。 涉及权限与认证配置,不涉及金额、数据库结构或生产写入。尚未部署、未进行真实扫码开户。发布时须核对并切换正式域名回调、获准后处理旧版会话和 remember 令牌;详见 docs/钉钉花名册登录.md。原工作区未跟踪资料保持不变。
WuYongJie added 1 commit 2026-09-08 05:56:25 +08:00
WuYongJie added 1 commit 2026-09-08 06:13:25 +08:00
WuYongJie changed title from WIP: 财务花名册准入与钉钉自动开户 to 财务花名册准入与钉钉授权自动开户 2026-09-08 06:14:03 +08:00
WuYongJie merged commit 0743f298a3 into main 2026-09-08 06:14:46 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#114
No description provided.