Cakephp ACL拒绝所有管理操作

Cakephp ACL拒绝所有管理操作,php,cakephp,Php,Cakephp,我现在正在使用ACL,我希望能够拒绝某个组访问任何管理\u操作 有没有快速的方法 $group->id = 2; $this->Acl->deny($group, 'admin'); $group->id = 2; $this->Acl->deny($group, 'controller/admin'); 以上两个例子似乎不起作用 我希望我的用户避免的url示例: http://mydomain.com/cake/index.php/admin/clien

我现在正在使用ACL,我希望能够拒绝某个组访问任何
管理\u操作

有没有快速的方法

$group->id = 2;
$this->Acl->deny($group, 'admin');

$group->id = 2;
$this->Acl->deny($group, 'controller/admin');
以上两个例子似乎不起作用

我希望我的用户避免的url示例:

http://mydomain.com/cake/index.php/admin/clients/pending

我想做的是限制对名为admin的任何内容的访问/

尝试
$this->Acl->deny(数组('model'=>'Group','foreign_key'=>'2'),'controller/admin')

我认为使用ACL无法做到这一点。您已将权限设置为每次执行一个操作

但您可以覆盖AppController中的isAuthorized函数

public function isAuthorized($user) {
    if (isset($user['group']) && $user['group'] === 1) {
        ... check if action param is set and in case return true otherwise return false....

    }
    return parent::isAuthrized($user);
}

管理员既不是模型,也不是控制器,它就像管理员部分:www.yourdomain.com/cake/index.php/admin/controller/action上面的代码是否适用于此?只是测试了上面的代码,可惜没有效果。取决于您的结构,第二个参数应该类似于“admin/controller/action”或“controller/action”,因为PHP权限是从下到上的……因此,如果您有此权限树admin->clients->pending,并且您拒绝访问admin,而没有明确拒绝访问admin的子级,那么用户仍然可以访问客户端和pending。你需要从孩子开始否认,然后努力向上