【发布时间】:2014-06-25 16:01:05
【问题描述】:
我正在使用 CakePHP 2.5.2,我想做一个 ACL 检查是否允许用户使用所需的 aco。 这可以通过组名而不是 groupID 来检查吗?
if ($this->Acl->check(array('model' => 'Group', 'name' => $aroName), $aco))
当我使用它时,CakePHP 给我一个错误,它找不到节点。
【问题讨论】:
我正在使用 CakePHP 2.5.2,我想做一个 ACL 检查是否允许用户使用所需的 aco。 这可以通过组名而不是 groupID 来检查吗?
if ($this->Acl->check(array('model' => 'Group', 'name' => $aroName), $aco))
当我使用它时,CakePHP 给我一个错误,它找不到节点。
【问题讨论】:
从API,check 方法接受:
string|array|Model $ref 可选 null
Array with 'model' and 'foreign_key', model object, or string value
你可以尝试通过名称找到组对象,然后将其传递给Acl->check
编辑:
$this->loadModel('Group');
$this->Group->recursive = -1;
$node = $this->Group->findByName('Admin');
CakeLog::write('debug',json_encode($this->Acl->check($node,'Users')));
【讨论】: