我正在我的系统中设计访问控制列表。其中将有一个组和帐户树,如下所示
所有用户 管理员 约翰 特权成员 彼得 麦克风
在上面的树中'所有用户''管理员''特权成员是组。我想创建一棵树来存储上述信息。在邻接表遍历中,读操作成本很高,而在 Mptt 遍历中,写操作成本很高。对于 ACL,什么应该更重要,读或写。我认为 read 会被经常使用,但想在这里听取聪明人的意见。在 cake php acl 中,他们使用了 mptt。
我正在我的系统中设计访问控制列表。其中将有一个组和帐户树,如下所示
所有用户 管理员 约翰 特权成员 彼得 麦克风
在上面的树中'所有用户''管理员''特权成员是组。我想创建一棵树来存储上述信息。在邻接表遍历中,读操作成本很高,而在 Mptt 遍历中,写操作成本很高。对于 ACL,什么应该更重要,读或写。我认为 read 会被经常使用,但想在这里听取聪明人的意见。在 cake php acl 中,他们使用了 mptt。
在现实生活中,您使用的“读取”操作比“写入”操作多得多。所以,最好的办法是使用修改后的预序树遍历 (MPTT) 解决方案,一旦你理解它就非常优雅。这是一个 PHP 类,它提供了修改后的预序树遍历算法的实现,该算法有很好的文档记录并且易于使用。此外,在页面上,您会找到链接以阅读有关该算法的更多信息。