You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel多条件角色权限配置:多层级公司员工管理场景

多层级员工管理系统角色权限落地方案

抛弃User表加外键字段、单组织节点建独立权限项的思路,采用固定角色+管辖范围关联表+层级路径匹配的架构,低维护成本适配所有需求场景。

核心数据模型设计

所有表结构保持精简,不做冗余设计:

  • 统一组织架构表(不拆分部门、子部门为独立表,后续扩展层级无需改表)
    核心字段:
    • id:组织节点唯一ID
    • parent_id:父级节点ID,部门节点的parent_id关联公司ID,子部门节点的parent_id关联所属部门ID
    • type:节点类型枚举,值为division(部门)/subdivision(子部门)
    • path:核心索引字段,存储当前节点的完整层级路径,例:ID为2的部门path为/2/,其下属ID为5的子部门path为/2/5/
    • name:组织名称
  • 固定角色表:仅预置4个业务角色,无需动态新增
    核心字段:
    • id:角色唯一ID
    • role_key:角色标识枚举,值为super_admin/manager/coordinator/group_leader
    • role_name:角色显示名
  • 用户角色关联表:支持单用户绑定多角色,核心字段为user_id、role_id
  • 用户管辖范围关联表(解决多组织管辖问题的核心表,无需为每个组织建独立权限项)
    核心字段:user_id、org_id(关联组织架构表ID)
    说明:该表仅存储用户直接绑定的管辖顶层节点,无需冗余存储所有下属节点,例:协调员管辖2个部门,仅需插入2条对应部门节点的绑定记录,下属子部门、员工通过路径匹配自动纳入管辖范围
  • 员工表:核心字段为id、account_user_id(关联系统登录账号ID)、org_id(归属子部门ID)

权限范围判定规则

所有角色默认拥有管辖范围内的完整CRUD权限,无需单独配置操作权限,仅需在数据访问层校验操作对象是否在用户管辖范围内:

  • 超级管理员:绑定super_admin角色后直接跳过范围校验,拥有全量数据操作权限,无需在管辖范围表插入记录
  • 经理:绑定manager角色,管辖范围表仅插入其所属单个部门的节点ID。校验逻辑:操作对象所属组织的path以该部门节点的path为前缀,即判定有权限,自动覆盖部门下所有子部门、子部门归属员工
  • 协调员:绑定coordinator角色,管辖范围表插入其有权管辖的1个或多个部门节点ID。校验逻辑与经理一致,只要操作对象的组织path命中任意一个绑定部门的path前缀,即判定有权限,自动覆盖所有绑定部门下的子部门、员工
  • 组长:绑定group_leader角色,管辖范围表插入其有权管辖的1个或多个子部门节点ID。校验逻辑:操作对象所属组织的path以任意一个绑定子部门的path为前缀,即判定有权限,支持跨部门选子部门的管辖需求

实现示例:查询当前用户有权查看的所有子部门时,超级管理员直接查全表;其余角色先查出自身绑定的所有管辖节点的path集合,拼接查询条件为WHERE path LIKE '/绑定节点1/%' OR path LIKE '/绑定节点2/%',一次查询即可捞出所有有权限的数据,无需递归遍历组织树,查询性能高。

方案优势

  • 天然适配单用户管辖多个部门、多个跨部门子部门的场景,无需在User表新增大量组织关联字段
  • 权限项维护成本为0,不管新增多少部门、子部门,仅需在组织架构表新增节点记录,给对应用户在管辖范围表新增绑定关系即可,无需给每个组织节点单独创建权限项
  • 架构扩展性强,后续如果要在子部门下新增小组、工作组等更深层级,仅需给新节点生成对应path,完全不用调整权限判定逻辑
  • 校验逻辑统一,除超级管理员外,其余角色的权限判定完全复用同一套路径匹配规则,无需针对单个角色写特殊判断分支,代码维护成本低

关键实现注意点

  • 组织架构表的path字段必须建索引,保证前缀匹配查询的性能
  • 组织节点调整归属(比如把子部门从A部门划转至B部门)时,必须同步更新该节点及其所有下属节点的path值,避免权限匹配错误
  • 在数据访问层加全局拦截器,自动拼接当前用户的管辖范围查询条件,无需在每个业务接口单独写权限校验逻辑,避免漏校验
  • 无需额外配置CRUD类操作权限,符合所有角色在管辖范围内拥有完整操作权限的需求,减少无意义的配置项

内容的提问来源于stack exchange,提问作者Guev4ra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:39:15