我使用Nested Sets model处理对象层次结构。我想为单个对象设置CRUD操作的权限。作为管理访问权限的系统,我使用PHP RBAC。我怎么能解决这个问题?
在对问题进行一些分析后,我决定可以为对象上的每个CRUD操作创建四个权限树,并单独获得每个权限,但我认为这不是最佳解决方案。
作为替代方案,我考虑使用单个预置树,这些节点对应于操作" read",并且每个节点都有子元素"创建","更新"和"删除",但我不确定是否可以使用PHP RBAC实现此模型。
欢迎任何有关材料的建议或参考。我确信在这个问题上有一些我还没有找到的材料。
答案 0 :(得分:1)
RBAC在这里可能还不够,因为你有:
要实现您的方案,您可以使用RBAC并使用ABAC(基于属性的访问控制)对其进行扩展。使用ABAC,您可以获得以下好处:
您可以在ABAC中表达以下方案:
XACML,可扩展访问控制标记语言实现了ABAC。您可以在此处阅读有关XACML和ABAC的更多信息: