Database 范围/组/角色/权限数据库体系结构

Database 范围/组/角色/权限数据库体系结构,database,database-design,orm,architecture,Database,Database Design,Orm,Architecture,我正在构建一个内部web应用程序,并与一些DB设计理论进行斗争 我已经用Laravel&Trust设置了角色和权限,但我正在尝试添加作用域和组的额外功能,我不太确定如何实现它 给定以下范围: 公司 团队 这些角色是: 管理员 编辑 作者 而这些组(团队): 销售 发展 设计 我已经添加了作用域功能,这非常有效,因此我可以将权限分配给公司范围内的管理员,但我希望能够根据他们所属的团队将权限分配给团队范围内的管理员 该应用程序将非常扩展,但为了保持简单,这里我将重点介绍我需要满足的几个用

我正在构建一个内部web应用程序,并与一些DB设计理论进行斗争

我已经用Laravel&Trust设置了角色和权限,但我正在尝试添加作用域和组的额外功能,我不太确定如何实现它

给定以下范围:

  • 公司
  • 团队
这些角色是:

  • 管理员
  • 编辑
  • 作者
而这些(团队):

  • 销售
  • 发展
  • 设计
我已经添加了作用域功能,这非常有效,因此我可以将权限分配给公司范围内的管理员,但我希望能够根据他们所属的团队将权限分配给团队范围内的管理员

该应用程序将非常扩展,但为了保持简单,这里我将重点介绍我需要满足的几个用例:团队和员工档案

团队简介

  • 所有员工都可以查看所有团队档案
  • 公司管理员可以编辑所有团队档案
  • 团队管理员可以编辑自己的团队档案
员工档案

  • 所有员工都可以查看所有员工档案
  • 公司管理员可以编辑所有员工档案
  • 团队管理员可以在自己的团队中编辑员工档案
  • 员工可以编辑自己的个人资料

实现这一目标的最佳方式是什么?每次我尝试并接近它时,解决方案都感觉过于复杂,我将自己埋入嵌套的foreach循环中。这就是我为自己做的床,还是有更好的方法可以同时检查角色、范围和组的权限?

您还需要添加您希望应用的权限,可能是阅读、编辑、删除以及您操作的对象(仅配置文件)?是的,我非常理解,但是考虑一下编辑销售团队的权限。我现在可以将其附加到管理员角色和团队范围,但是所有团队管理员都可以编辑任何团队。我希望能够选择性地与组进行比较。如何在PHP中做到这一点?您还需要添加您希望应用的权限,大概是读、编辑、删除以及您所做的对象(仅配置文件?),是的,这是我所理解的,但请考虑编辑销售团队的权限。我现在可以将其附加到管理员角色和团队范围,但是所有团队管理员都可以编辑任何团队。我希望能够选择性地与组进行比较。如何在php中干净利落地实现这一点?