后台用户需求
1. 背景
后台管理系统需要支撑现金贷多 App、手机分期、客服工单、运营排障、财务对账、风控人审和权限审计等多类内部人员使用。后台用户管理是权限底座的入口,负责管理后台账号、组织归属、角色授权、App 数据范围、账号状态、安全策略和操作审计。
本需求补充后台用户管理的产品能力和控制规则,避免仅有角色权限设计但缺少账号生命周期、授权流程、状态控制和审计留痕。
对应原型菜单:Admin Users。
2. 建设目标
- 支撑后台账号从创建、启用、授权、调整、停用到离职回收的完整生命周期。
- 支撑按角色、菜单、动作、字段和 App 数据范围组合授权。
- 支撑客服、运营、财务、风控、主管、管理员等不同岗位的差异化权限。
- 支撑敏感权限、导出权限和跨 App 权限的独立控制。
- 支撑账号状态、安全策略、登录限制和异常行为审计。
- 支撑权限变更可追溯,满足内部合规和数据安全要求。
- 预留飞书、Lark 等三方办公软件登录接入能力,支持多个身份源并存和用户授权绑定。
3. 使用角色
| 角色 | 主要诉求 | 权限范围 |
|---|---|---|
| 系统管理员 | 管理后台账号、角色、菜单和基础权限 | 可管理账号与角色,不默认拥有业务数据明文权限 |
| 权限管理员 | 按岗位配置角色、数据范围和敏感权限 | 可授权指定范围内的角色和数据范围 |
| 客服主管 | 管理本团队客服账号和工单处理范围 | 可查看团队成员、分配队列、调整工单权限 |
| 运营主管 | 管理运营人员的 App 和功能范围 | 可申请或调整运营相关权限 |
| 审计人员 | 查看账号、登录、权限变更和敏感操作日志 | 只读审计,不参与授权 |
| 普通后台用户 | 使用被授权的后台功能 | 仅访问本人被授权菜单、动作和数据范围 |
4. 功能范围
P0 必须包含:
- 后台用户列表。
- 后台用户新增、编辑、启用、停用。
- 用户角色绑定。
- 用户 App 数据范围配置。
- 用户菜单和动作权限查看。
- 用户敏感字段权限配置或查看。
- 用户登录状态和最近登录信息。
- 用户权限变更和账号状态变更审计。
P0 不包含:
- 完整跨部门审批流。
- 自动同步企业通讯录。
- 飞书、Lark 等三方办公软件登录的完整接入实现。
- 复杂岗位编制管理。
- 用户行为画像和风险评分。
- 细粒度临时授权自动过期策略。
5. 用户信息模型
5.1 基础字段
| 字段 | 说明 |
|---|---|
| 用户 ID | 后台内部唯一标识 |
| 登录账号 | 登录名或邮箱,唯一 |
| 姓名 | 后台展示名称 |
| 手机号 | 用于联系和二次验证,默认脱敏 |
| 邮箱 | 用于通知、重置密码和登录 |
| 所属部门 | 客服、运营、财务、风控、技术、管理等 |
| 所属团队 | 客服队列、运营团队、财务组等 |
| 岗位 | 客服、主管、运营、财务、人审、管理员等 |
| 直属主管 | 用于权限申请、工单分配和审计追溯 |
| 账号状态 | 待启用、启用、停用、锁定、离职 |
| 账号来源 | 手工创建、批量导入、组织同步、三方身份绑定 |
| 主登录方式 | 账号密码、飞书、Lark 等 |
| 绑定身份源 | 已绑定的三方办公软件身份摘要 |
| 角色 | 一个用户可绑定多个角色 |
| App 数据范围 | 可访问的现金贷 App、国家、产品等范围 |
| 敏感权限 | 明文查看、身份照片查看、导出等 |
| 最近登录时间 | 安全审计字段 |
| 最近登录 IP | 安全审计字段 |
| 创建人 | 审计字段 |
| 创建时间 | 审计字段 |
| 更新人 | 审计字段 |
| 更新时间 | 审计字段 |
5.2 账号状态
| 状态 | 说明 | 可登录 | 可授权 | 典型场景 |
|---|---|---|---|---|
| 待启用 | 已创建但未完成初始激活 | 否 | 可以 | 新员工预开户 |
| 启用 | 正常可用 | 是 | 可以 | 日常使用 |
| 停用 | 管理员主动停用 | 否 | 不建议 | 调岗、临时冻结 |
| 锁定 | 因安全策略自动锁定 | 否 | 否 | 多次登录失败 |
| 离职 | 员工离职后回收 | 否 | 否 | 离职账号归档 |
6. 用户列表
6.1 筛选条件
- 登录账号。
- 姓名。
- 手机号。
- 邮箱。
- 部门。
- 团队。
- 岗位。
- 角色。
- 账号状态。
- 授权 App。
- 最近登录时间。
- 创建时间。
6.2 列表字段
| 字段 | 说明 |
|---|---|
| 登录账号 | 支持点击进入详情 |
| 姓名 | 后台展示名称 |
| 部门 / 团队 | 组织归属 |
| 岗位 | 岗位类型 |
| 角色 | 展示主要角色,多个角色可折叠 |
| App 数据范围 | 展示授权 App 数量和摘要 |
| 敏感权限 | 展示是否有明文、照片、导出权限 |
| 状态 | 待启用、启用、停用、锁定、离职 |
| 最近登录 | 最近登录时间和 IP 摘要 |
| 操作 | 查看、编辑、启用、停用、重置密码、解锁 |
6.3 列表规则
- 默认不展示已离职账号,可通过状态筛选查看。
- 手机号、邮箱等个人信息默认脱敏。
- 当前登录用户不能停用或删除自己。
- 用户列表导出属于高风险操作,P0 阶段不默认开放。
7. 用户详情
用户详情用于查看账号基础信息、角色、权限、数据范围、安全状态和审计记录。
详情模块:
- 基础信息。
- 组织与岗位信息。
- 角色列表。
- 菜单权限摘要。
- 动作权限摘要。
- 字段权限摘要。
- App 数据范围。
- 登录与安全信息。
- 权限变更记录。
- 操作审计记录。
详情展示要求:
- 权限摘要应能区分“来自角色授权”和“用户单独授权”。
- App 数据范围必须展示 App 名称、App ID、国家、产品和有效状态。
- 敏感权限必须突出展示,包括明文查看、身份照片查看、导出和跨 App 查询。
- 已停用、锁定、离职账号需要在详情顶部展示明显状态。
8. 新增用户
8.1 新增方式
- 手工新增单个用户。
- 批量导入用户。
- 预留企业通讯录同步能力。
P0 优先支持手工新增,批量导入可作为 P1。
8.2 手工新增字段
必填:
- 登录账号。
- 姓名。
- 部门。
- 岗位。
- 至少一个角色。
- 账号状态。
选填:
- 手机号。
- 邮箱。
- 团队。
- 直属主管。
- App 数据范围。
- 备注。
8.3 新增规则
- 登录账号必须全局唯一。
- 新增用户默认不授予业务数据明文权限。
- 新增用户默认不授予导出权限。
- 新增用户必须至少绑定一个角色才能启用。
- 如果角色需要 App 数据范围,必须同步配置数据范围,否则用户登录后不应看到对应业务数据。
- 新增成功后记录创建日志和初始授权日志。
9. 编辑用户
可编辑内容:
- 姓名、手机号、邮箱。
- 部门、团队、岗位、直属主管。
- 角色。
- App 数据范围。
- 敏感字段权限。
- 导出权限。
- 账号状态。
- 备注。
编辑规则:
- 登录账号原则上不可修改;确需修改时应作为高风险操作记录审计。
- 调整角色、App 数据范围、敏感权限、导出权限必须记录变更前后值。
- 移除某 App 数据范围后,该用户不得继续查询该 App 的客户、订单、工单和导出任务。
- 停用账号后应立即失效其当前登录会话。
- 离职账号只能查看历史审计,不允许恢复为启用;如需重新入职,应创建或重新激活流程单独控制。
10. 角色与授权
10.1 授权模型
后台用户最终权限由以下部分合并得到:
用户权限 = 角色权限 + 用户单独授权 - 显式禁用权限权限校验必须同时包含:
- 菜单权限。
- 动作权限。
- 字段权限。
- App 数据范围。
- 导出范围。
- 敏感字段范围。
10.2 角色绑定
- 一个用户可绑定多个角色。
- 角色应按岗位和职责设计,不应为单个用户创建临时角色。
- 多角色叠加后,数据范围取用户被授权范围与角色允许范围的交集。
- 当多个角色产生冲突时,显式禁用权限优先级最高。
10.3 用户单独授权
用户单独授权仅用于少量例外场景,例如临时支援某 App 客服、短期参与问题排查。
控制要求:
- 必须填写授权原因。
- 必须设置有效期,P0 可先人工回收,P1 支持自动过期。
- 必须记录授权人、被授权人、授权范围、原因和时间。
- 敏感字段明文、身份照片、导出、跨 App 查询不建议通过用户单独授权长期开放。
11. App 数据范围
11.1 授权维度
| 维度 | 说明 |
|---|---|
| App 范围 | 可访问哪些现金贷 App |
| 国家范围 | 可访问哪些国家 |
| 产品范围 | 可访问哪些产品 |
| 业务线范围 | 现金贷、手机分期、共享客户、共享资金 |
| 团队范围 | 本人、团队、全部授权团队 |
| 工单队列范围 | 可查看和处理哪些工单队列 |
11.2 控制规则
- 用户有菜单权限但无 App 数据范围时,只能看到空态或无权限提示。
- 用户切换 App 范围后,列表、详情、导出、工单分配必须同步受控。
- 客服账号只能查看被授权 App 下的客户、进件、借款和还款信息。
- 主管可查看团队范围内成员处理的工单,但仍需受 App 数据范围限制。
- 系统管理员不默认拥有任何业务 App 数据范围。
12. 敏感权限
敏感权限包括:
- 查看手机号明文。
- 查看 BVN / NIN 明文。
- 查看银行卡或钱包账户明文。
- 查看身份照片、活体照片或人脸结果。
- 导出客户、订单、资金或工单数据。
- 跨 App 聚合查询。
- 权限授权变更。
控制要求:
- 敏感权限必须独立配置,不能仅通过普通查询角色隐式获得。
- 敏感权限默认关闭。
- 查看明文必须填写原因或选择业务场景。
- 查看身份照片、导出敏感字段、跨 App 大范围导出建议触发二次确认或审批。
- 所有敏感权限使用行为必须写入审计日志。
13. 账号安全
13.1 登录安全
- 支持账号密码登录。
- 密码需满足复杂度要求。
- 首次登录必须修改初始密码。
- 连续登录失败达到阈值后自动锁定账号。
- 锁定账号需要管理员解锁或按安全策略自动解锁。
- 支持按需接入二次验证和三方办公软件登录。
13.2 会话安全
- 停用、锁定、离职账号后,当前会话必须立即失效。
- 修改角色、App 数据范围、敏感权限后,建议刷新权限缓存或要求重新登录。
- 长时间无操作应自动退出。
- 同一账号异常多地登录应记录安全日志。
13.3 密码管理
- 支持管理员重置密码。
- 支持用户自行修改密码。
- 重置密码后应通知用户并要求首次登录修改。
- 密码重置、登录失败、账号锁定、账号解锁必须记录审计日志。
13.4 三方办公软件登录预留
后台账号模型需要预留飞书、Lark 等三方办公软件登录接入能力。P0 可以先不实现三方登录,但用户、权限、审计和会话模型不能只按本地账号密码设计。
核心原则:
- 后台内部用户是权限主体,飞书、Lark 等三方账号只是登录身份源。
- 一个后台用户可以绑定多个三方身份,例如同一人同时绑定飞书身份和 Lark 身份。
- 一个三方身份只能绑定一个后台用户,不能被多个后台用户复用。
- 不同办公软件、不同租户下的用户标识不能混用。飞书用户和 Lark 用户即使邮箱或手机号相同,也不能自动认为是同一个后台用户。
- 三方身份首次登录时,如果未绑定后台用户,不应自动创建可访问业务数据的账号;应进入绑定、申请或管理员确认流程。
- 后台用户停用、锁定、离职后,即使三方账号仍有效,也不得继续登录后台。
- 解绑三方身份、绑定新身份、切换主登录方式必须写入审计日志。
三方身份绑定建议字段:
| 字段 | 说明 |
|---|---|
| 身份源类型 | 飞书、Lark、账号密码等 |
| 身份源租户 ID | 三方办公软件租户或组织标识 |
| 三方用户 ID | 三方系统内用户唯一标识 |
| Open ID / Union ID | 三方平台返回的开放身份标识,按平台能力存储 |
| 绑定后台用户 ID | 对应后台内部用户 |
| 绑定状态 | 待确认、已绑定、已解绑、已失效 |
| 是否主登录方式 | 是否作为默认登录入口 |
| 最近登录时间 | 三方身份最近登录后台时间 |
| 绑定时间 | 绑定关系创建时间 |
| 解绑时间 | 绑定关系解除时间 |
| 操作人 | 管理员绑定或解绑时记录 |
后续接入三方登录时,需要按身份源类型和租户隔离配置应用凭证、回调地址和授权范围,避免飞书与 Lark 身份串用。
14. 操作审计
14.1 审计范围
- 新增用户。
- 编辑用户基础信息。
- 启用、停用、锁定、解锁用户。
- 重置密码。
- 绑定或解绑三方办公软件身份。
- 切换主登录方式。
- 绑定或移除角色。
- 调整 App 数据范围。
- 调整敏感权限。
- 调整导出权限。
- 查看用户详情。
- 查看权限变更记录。
14.2 审计字段
| 字段 | 说明 |
|---|---|
| 操作人 | 执行操作的后台账号 |
| 被操作用户 | 目标后台账号 |
| 操作类型 | 新增、编辑、授权、停用、重置密码等 |
| 操作模块 | 用户管理、角色管理、权限管理 |
| 变更前值 | 写操作记录 |
| 变更后值 | 写操作记录 |
| 操作原因 | 高风险操作必填 |
| 操作时间 | 时间戳 |
| 来源 IP | 安全审计 |
| 身份源 | 账号密码、飞书、Lark 等 |
| 结果 | 成功、失败 |
| 审计追踪 ID | 用于串联一次操作链路 |
15. 通知与提醒
需要通知的场景:
- 新增账号。
- 账号启用。
- 账号停用。
- 密码重置。
- 账号锁定或解锁。
- 角色变更。
- App 数据范围变更。
- 敏感权限变更。
P0 可先支持页面内提示和操作日志,P1 再接入邮件、短信或企业 IM 通知。
16. 接口建议
| 接口 | 说明 |
|---|---|
GET /admin/users | 查询后台用户列表 |
GET /admin/users/{user_id} | 查询后台用户详情 |
POST /admin/users | 新增后台用户 |
PUT /admin/users/{user_id} | 编辑后台用户 |
POST /admin/users/{user_id}/enable | 启用用户 |
POST /admin/users/{user_id}/disable | 停用用户 |
POST /admin/users/{user_id}/unlock | 解锁用户 |
POST /admin/users/{user_id}/reset-password | 重置密码 |
PUT /admin/users/{user_id}/roles | 配置用户角色 |
PUT /admin/users/{user_id}/data-scope | 配置用户数据范围 |
PUT /admin/users/{user_id}/sensitive-permissions | 配置用户敏感权限 |
GET /admin/users/{user_id}/identity-bindings | 查询用户绑定的三方身份 |
POST /admin/users/{user_id}/identity-bindings | 绑定三方身份 |
DELETE /admin/users/{user_id}/identity-bindings/{binding_id} | 解绑三方身份 |
GET /admin/users/{user_id}/audit-logs | 查询用户相关审计日志 |
17. 非功能要求
17.1 可用性
- 用户管理属于后台登录和权限底座能力,应高可用。
- 权限服务异常时,不应放大权限;应按最小权限或拒绝访问处理。
- 权限缓存异常时,应能回源校验或提示稍后重试。
17.2 性能
- 用户列表默认分页。
- 角色、权限、App 数据范围应支持按需加载。
- 权限变更后应在合理时间内生效,P0 建议不超过 5 分钟。
17.3 安全
- 用户管理接口必须仅允许授权管理员访问。
- 所有写操作必须校验操作者是否拥有对应管理权限。
- 不允许前端仅凭页面隐藏作为权限控制依据。
- 后端接口必须重新校验菜单、动作和数据范围。
18. 与当前页面原型的关系
当前 HTML 原型已实现 Admin Users 菜单,用于展示后台账号、姓名、团队、角色、App Scope、敏感权限、状态和最近登录时间。为保持文档和原型对齐,当前阶段按以下口径处理:
- 20-后台用户需求 是
Admin Users菜单的需求来源。 - 21-角色与App数据范围需求 是
Roles & App Scope菜单的需求来源。 - 22-审计日志需求 是
Audit Log菜单的需求来源。 - 当前原型中的
Admin Users以列表展示为主;用户新增、编辑、启用、停用、重置密码等完整操作可按本文后续扩展。 Roles & App Scope只展示角色与权限摘要,不等同于完整用户账号管理。
19. P0 验收口径
- 管理员可以新增、编辑、启用、停用后台用户。
- 管理员可以给用户绑定角色和配置 App 数据范围。
- 用户登录后只能看到被授权的系统入口和菜单。
- 用户只能查询授权 App 范围内的数据。
- 系统管理员账号不默认拥有业务数据明文查看权限。
- 敏感字段明文、身份照片、导出权限必须独立授权。
- 用户角色、App 数据范围、敏感权限变更必须记录审计日志。
- 停用或锁定账号后,该账号不能继续登录或使用已有会话访问后台。
- 同一后台用户可预留绑定飞书、Lark 等多个身份源;权限仍以后台用户、角色和数据范围为准。