如何在用户管理中实现多级层次结构

时间:2009-11-16 09:50:57

标签: php mysql database database-design

实施多级层次结构,以便超级用户拥有子用户拥有的所有权利,这意味着超级用户也可以管理子用户的工作。

假设在应用程序中可以有N个用户层次结构......

  • 超级用户

    • 子用户

      • 子用户-1

例如,Sub用户是sub user-1的超级用户。这样子用户就可以处理超级用户的所有工作。

如何为此设计数据库。

1 个答案:

答案 0 :(得分:5)

我认为您可能正在寻找的是ACL库。

ACL代表访问控制列表。它使用了名为ARO和ACO的2个“子模型”。

Aro是“请求数据” - 例如用户/组(可以使用嵌套集或简单的递归树[parent_id]构建为树)。

Aco是被要求的 - 某个模型,一个页面,一个功能 - 什么都有。

然后你结合两个(aco和aro)来创建ACL - 基本上说“这个用户/组可以/不能使用这个模型/页面”

根据你的标签我发现你正在寻找一个PHP / MySQL解决方案 - 所以phpGACL可能对你很有帮助:http://phpgacl.sourceforge.net/

它是一个用于管理ACL的完整“框架”,您可以轻松地将其组合到您的应用程序中(无论其结构如何)。

希望能帮到你一点 - 或至少指出你正确的方向。