php:如何在每个级别使用不同级别的访问权限制作115级别的层次结构。

时间:2012-03-20 07:59:53

标签: php

如何在每个级别使用不同级别的访问权限制作115级别的层次结构 场景是我想要创建一个具有一个根节点的层次结构(树),并且在该节点下将有三个子节点。在这三个子节点中的每一个下,将有三个以上的子节点。以这种方式,层次结构延伸到115级。限制是根节点将具有访问权限,以查看其下的所有节点的数据,直到层次结束。树中的所有其他子节点将具有访问权限,以查看位于其下的子节点的数据以及后续子节点的数据,直到层次结束。

1 个答案:

答案 0 :(得分:1)

您可能希望在数据库中反映这样一个复杂的结构,因此我提出的解决方案与语言无关。

创建一个表格,例如

Table Nodes: ID, ParentID, Name, Content

其中ParentID是引用上一级的外键。 Root的ParentID = null。

创建另一个表

Table Node_Rights: NodeID, UserID

您授予节点访问权限。

现在,您可以通过循环遍历所有层次结构来评估用户的访问权限,这将有效地带您进行大量SQL查询。我认为您应该一次或每次更改用户/访问权限时执行这些查询,并将结果保存在另一个表中。如:

Table Transivite_Node_Rights: NodeID, UserID

这个表(也可以在内存中)是你的缓存,使这么大的结构可行。