Cakephp ACL拒绝所有管理员操作

时间:2013-10-04 13:54:56

标签: php cakephp

我现在正在使用ACL我希望能够拒绝某个组访问任何admin_action

有一种快速的方法吗?

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

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

以上两个例子似乎没有用。

示例网址我希望我的用户避免:

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

我想要做的是限制访问名为admin /

的任何内容

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我认为你不能使用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);
}