0

我是 CakePHP 新手,但熟悉其他 PHP 框架。我正在尝试找出实现以下 ACL 设置的“蛋糕方式”。

我目前已将 ACL 配置为Simple Acl 教程。当我想将组限制为特定操作时,这非常有用。

但是,如果我有一个操作,例如编辑,并且我希望根据您要编辑的用户是哪个组来限制编辑操作。

组“用户”中的用户将被拒绝访问编辑操作。
如果他们正在编辑的用户在组“用户”中,则将允许组“版主”中的用户进行编辑。
如果他们正在编辑的用户在组“用户”或“版主”中,则将允许组“管理员”中的用户进行编辑。

我很难理解我的用户和组表与 aco 和 aro 不同的事实,以及我应该如何建立这种关系,这样它就不会在未来让我绊倒。

我开始尝试创建一个路由索引函数,让你跳到不同的最终操作;edit_user、edit_mod、edit_admin 然后我可以使用 ACL 锁定它们,但我不确定是否有更好的方法来组织它。

非常感谢,
皮特

4

1 回答 1

1

你可以像这样建立你的权限:

阿罗:

  • 用户
    • 版主
      • 行政
    • 其他类型的成员 1
    • 其他类型的成员 2

亚科:

  • 用户控制器
    • 编辑动作
      • 编辑用户
        • 编辑版主
          • 编辑管理员
        • 编辑一些其他类型的成员 1
        • 编辑其他类型的成员 2

然后你可以说:

  1. 版主有权编辑用户:版主和管理员都可以编辑任何类型的成员
  2. 版主无权编辑版主:版主和管理员都不能编辑版主
  3. 管理员有权编辑版主:管理员可以编辑版主和管理员
  4. 等等
于 2012-09-17T21:33:56.353 回答