如何列出CakePHP Acl ACO和ARO结构?

如何列出CakePHP Acl ACO和ARO结构?,cakephp,acl,Cakephp,Acl,我想列出Acos的CakePHP Acl数据库,以及Aro是否有权限是或否 执行此操作的最佳方法是什么?使用acl外壳 Cake内置了一个接口,提供了一个修改或查看acl数据的接口。它包括一个允许查看访问控制对象(aco,“事物”)和访问请求对象(aro,用户)数据层次结构的功能: 示例aco树: $ Console/cake acl view aco Welcome to CakePHP v2.4.0-dev Console ---------------------------------

我想列出Acos的CakePHP Acl数据库,以及Aro是否有权限是或否

执行此操作的最佳方法是什么?

使用acl外壳 Cake内置了一个接口,提供了一个修改或查看acl数据的接口。它包括一个允许查看访问控制对象(aco,“事物”)和访问请求对象(aro,用户)数据层次结构的功能:

示例aco树:

$ Console/cake acl view aco

Welcome to CakePHP v2.4.0-dev Console
---------------------------------------------------------------
App : app
Path: /var/www/app/
---------------------------------------------------------------
Aco tree:
---------------------------------------------------------------
  [1] controllers
    [2] Posts
  [3] Posts
    [4] index
---------------------------------------------------------------
aro树示例:

$ Console/cake acl view aro

Welcome to CakePHP v2.4.0-dev Console
---------------------------------------------------------------
App : app
Path: /var/www/app/
---------------------------------------------------------------
Aro tree:
---------------------------------------------------------------
  [1] Group.1
---------------------------------------------------------------
还有一个检查功能,用于确定给定的aro是否可以访问给定的aco:

$ Console/cake acl check Group.1 controllers/Posts

Welcome to CakePHP v2.4.0-dev Console
---------------------------------------------------------------
App : app
Path: /var/www/app/
---------------------------------------------------------------
Group.1 is allowed.
谁可以访问不可能访问的内容 acl数据的本质是,检查单个组合(此特定用户是否可以访问此特定对象)的成本相对较高,并且(尽管可能)构建“谁可以访问什么”的通用解决方案是不切实际的,这就是为什么没有提供核心方法来回答该问题的原因


不过,对于给定的ACO列表,您可以轻松地循环调用它们,以获取“此特定用户可以访问的内容”的答案列表。使用
Aro
Aco
模型,可以像访问任何其他模型数据一样访问acl数据。

@YisraelDov我不确定您评论的目的。你读了答案后建议这样做吗?组件方法,它只调用-如果您正试图这样做,请直接调用权限模型方法。