第3章 用户角色与权限划分
用户场景
在企业审批流中,不同角色承担截然不同的职责,常见场景如下:
- 发起人:填写报销单,提交后等待审批。
- 审批人:收到待办通知,审核内容并决定通过/驳回。
- 抄送人:申请通过后自动收到通知,无需操作。
- 会签人:与主审批人并行或顺序签字,必须全部同意才能进入下一步。
- 代理审批人:原审批人请假时临时接手,权限与审批人相同。
- 系统管理员:配置模板、设定审批链、维护角色映射。
业务问题
组织在角色管理上频繁遇到以下痛点:
- 权限交叉混乱:一个人既是审批人又是抄送人,系统无法正确分发待办。
- 会签缺乏超时机制:部分会签人长期不处理,导致流程卡死。
- 代理审批权限难以回收:代理人结束后仍残留待办,造成安全隐患。
- 管理员操作无审计:配置错误无法追溯,影响合规审计。
风险提示:角色定义不清晰会直接导致审批链路循环、漏单、数据泄露,务必在需求阶段对齐业务方。
用户访谈(摘录)
| 角色 | 典型原话 | 业务隐含诉求 |
|---|---|---|
| 发起人 | “我只想知道找谁批,最好一步到位” | 审批路径透明,避免多次驳回 |
| 审批人 | “出差期间我的待办能自动转给同事吗?” | 支持代理审批配置且可设置有效期 |
| 会签人 | “我们部门必须所有人同意,否则我不放心” | 会签模式支持一票否决或须全票通过 |
| 系统管理员 | “改个角色要改十几个表单,太容易出错了” | 集中管理角色模板,批量更新 |
需求拆解
将用户诉求转化为可配置的权限模型,核心是通过 RABC 实现角色‑操作分离。
| 角色 | 权限范围 | 触发条件 | 可配置项 |
|---|---|---|---|
| 发起人 | 创建/撤回申请 | 流程启动时 | 可见模板 |
| 审批人 | 通过/驳回/附加意见 | 审批节点激活 | 审批顺序、多人投票规则 |
| 抄送人 | 接收消息,不可操作 | 流程终态(通过/驳回) | 抄送时机、消息渠道 |
| 会签人 | 独立审批(同审批人) | 会签节点激活 | 串签/并签、完成比例 |
| 代理审批人 | 临时继承审批人权限 | 设置代理时间+范围 | 代理起止日期、可代理流程 |
| 系统管理员 | 全局配置、审计日志 | 登录管理后台 | 角色映射、权限策略 |
方案表达
采用基于角色的访问控制(RBAC)设计,每个用户绑定一个或多个角色,流程节点引用角色而非具体用户。
核心设计原则:
1. 角色与组织架构解耦,支持动态人员调整
2. 代理审批使用时间窗口,到期自动回收
3. 会签节点支持按通过比例(如100%全票通过或过半即过)
1. 角色与组织架构解耦,支持动态人员调整
2. 代理审批使用时间窗口,到期自动回收
3. 会签节点支持按通过比例(如100%全票通过或过半即过)
配置示例(JSON 片段,定义审批节点):
{
"nodeType": "approval",
"assigneeRole": "finance_manager",
"mode": "multi_sign",
"passCondition": "ALL",
"timeoutDays": 3,
"rejectAction": "RESTART",
"proxy": {
"enabled": true,
"proxyRole": "finance_vice_manager",
"maxPeriodDays": 30
}
}
指标验证
- 审批时效:平均审批时长降低30%以上(代理机制减少等待)。
- 权限错误率:因角色混淆导致的审批回退占比 < 2%。
- 代理命中率:代理自动接管比例 > 80%。
- 管理员配置效率:新建一个审批流耗时 < 15分钟(含角色选择)。
验收标准
| 编号 | 验收项 | 预期结果 |
|---|---|---|
| AC-01 | 发起人能查看自己可用的模板 | 模板列表仅显示已授权给发起人角色的流程 |
| AC-02 | 审批人可设置代理并指定有效期 | 代理生效期间原审批人待办自动转发,到期恢复 |
| AC-03 | 会签节点全票通过才放行 | 任一不同意则驳回至发起人 |
| AC-04 | 抄送人在流程结束后收到通知 | 邮件/企微消息包含审批结果和备注 |
| AC-05 | 系统管理员可导出角色权限对照表 | CSV文件包含角色名称、权限代码、备注 |
交付物模板
以下为角色定义清单模板,项目团队可依此产出具象文档:
| 角色ID | 角色名称 | 所属模块 | 可执行操作 | 排除操作 | 备注 |
|---|---|---|---|---|---|
| ROLE_INITIATOR | 发起人 | 费用报销 | 创建、撤回、修改 | 审批、抄送设定 | 默认可见全部费用类型 |
| ROLE_APPROVER | 审批人 | 费用报销 | 通过、驳回、加签 | 删除流程 | 委托代理时需填写原因 |
| ROLE_CC | 抄送人 | 通用 | 查看通知,无需操作 | 无 | 每流程最多5人 |
| ROLE_COUNTERSIGN | 会签人 | 合同审批 | 通过、驳回 | 委托代理 | 必须全票通过 |
| ROLE_PROXY | 代理审批人 | 通用 | 同审批人操作 | 不可设置再代理 | 代理期限≤30天 |
| ROLE_ADMIN | 系统管理员 | 全局 | 配置模板、角色映射、日志查询 | 不可编辑本人绑定角色 | 操作日志保留180天 |