后台用户需求

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 等多个身份源;权限仍以后台用户、角色和数据范围为准。