快缩短网址权限设计实践:超越传统 RBAC 的组织岗位模型
在构建现代企业级系统时,权限管理始终是架构设计中的核心命题。传统的基于角色的访问控制(RBAC)虽逻辑清晰、易于实现,却常与现实组织运作脱节。本文将以“快缩短网址”(suo.run)项目为背景,深入探讨如何在 RBAC 基础上,融合组织结构与岗位体系,构建更贴合真实业务场景的权限模型。
传统 RBAC 的局限
经典 RBAC(即 RBAC0)的核心思想在于引入“角色”作为用户与资源之间的中介层:权限绑定角色,角色赋予用户。这种设计有效解耦了授权逻辑,简化了权限变更流程——恰如软件工程中那句箴言:“当系统过于复杂时,增加一层抽象往往能带来秩序。”
然而,现实世界远比模型复杂。企业普遍采用“以岗定人”的用人机制:员工因岗位变动而自然继承相应权限,而非手动调整其角色。若权限系统无法映射这一机制,运维成本将急剧上升,用户体验亦大打折扣。

为此,我们需在 RBAC 之上,融入组织与岗位维度,构建更具弹性的权限体系。
组织结构的真实图景
现实中的组织通常呈树状结构,每一层级包含多个岗位,而岗位又承载着特定的职责与权限。其典型特征包括:
- 岗位权限差异化:如同一部门内的会计与出纳,虽属同级,但操作权限截然不同。
- 权限存在继承与叠加:例如办公室主任不仅拥有普通职员的基础权限,还额外具备审批、管理等高阶权限。
- 一岗多人、一人多岗并存:副总经理职位下可能有赵子龙与赵德彪两人;而赵子龙同时兼任“总会计组织负责人”,身兼数职。
这种动态、交叉的岗位关系,正是传统 RBAC 难以覆盖的盲区。
构建组织-岗位-角色一体化模型
为精准映射现实,我们重新定义关键实体:
- 账户(Account):代表真实用户,用于系统登录。
- 资源(Resource):系统内所有可操作对象,如菜单、页面、数据接口等。
- 角色(Role):封装一组对资源的 CRUD 权限。
- 组织(Organization):树形结构的部门或团队单元。
- 岗位(Position):组织中具体的人事任命,一个岗位仅由一人担任。
- 职位(Job Title):岗位的类型抽象,如“副总经理”“会计主管”等;同一职位下的所有岗位共享相同权限配置。
权限流转逻辑
权限不再直接关联账户,而是通过“岗位 → 职位 → 角色 → 资源”的链路传递:
1. 用户登录时,系统识别其当前所代表的岗位(可为多个);
2. 每个岗位对应一个职位;
3. 每个职位绑定若干角色;
4. 角色聚合后,形成该用户最终的权限集合。

以“快缩短网址”后台为例:
- 赵德彪担任“副总经理”岗位,对应“副总经理”职位,该职位关联角色2~5;
- 登录后,他自动获得这些角色所涵盖的所有资源操作权限;
- 而赵子龙同时担任“副总经理”与“总会计组织负责人”两个岗位,分别映射至两个职位,权限叠加后,其操作范围更广。
此模型实现了“人随岗动,权随岗变”的自动化授权机制,极大降低人工干预成本。
结语
从 RBAC 出发,结合组织架构与岗位制度,我们构建了一套更贴近企业实际的权限模型。它不仅保留了角色抽象带来的维护便利性,更通过岗位与职位的引入,使权限分配与人事变动无缝同步。
在“快缩短网址”(suo.run)的持续迭代中,我们正将此类设计思想融入产品内核,力求在简洁与强大之间取得平衡。权限系统不应成为业务的枷锁,而应是支撑高效协作的隐形骨架。
欢迎同行交流探讨,共筑更智能的系统治理之道。