我试图找出为结构为树系统的用户权限系统创建数据库的最佳方法。

(为了说明目的)我有三个级别的控制:1 Property Group、2 Property、3 Building。一个属性组有多个属性,一个属性有多个建筑物。

我想在每个级别上设置管理。
PropGroupAdmin 可以查看和编辑设置的属性组内的所有属性,以及里面的建筑物。
PropAdmin 只能查看设置的属性和其中的建筑物
BldngAdmin 只能查看设置的建筑

我设想它的工作方式是,用户 Bobby 是一个 PropGroupAdmin,其属性组 ID 为 102。这将转化为我可以从 View 中读取的一系列特定权限。

我的问题是如何设置 GroupPrivileges 表以便能够继承(如果这是正确的词)层次结构?基本上允许我创建一个 View ,我可以阅读该 View 以查看用户是否具有执行任务的正确权限。

我创建了一个小图表,说明我想象它会如何工作。

我知道这不会以这种方式工作,我只是想找出热点来进行更改以获得类似的结果。

最佳答案

为什么要重新发明轮子?为什么不实现基于角色的访问控制标准? http://csrc.nist.gov/groups/SNS/rbac/

所有数据库都有实现。

http://www.tonymarston.net/php-mysql/role-based-access-control.html

关于database - 树系统中基于角色的访问控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10939569/

10-16 10:30