Php Yii简单rbac-未执行checkAccess

Php Yii简单rbac-未执行checkAccess,php,yii,rbac,Php,Yii,Rbac,我是Yii的新手。 我使用了本教程:使管理员角色正常工作。 控制器中的My accessRules函数如下所示: public function accessRules() { return array( array('allow', // allow all users to perform 'index' and 'view' actions 'actions' => array('index', 'view',

我是Yii的新手。 我使用了本教程:使管理员角色正常工作。 控制器中的My accessRules函数如下所示:

 public function accessRules() {
        return array(
            array('allow', // allow all users to perform 'index' and 'view' actions
                'actions' => array('index', 'view', 'create'),
                'users' => array('*'),
            ),
            array('allow', // allow authenticated user to perform 'create' and 'update' actions
                'actions' => array('update'),
                'users' => array('@'),
            ),
            array('allow', // allow admin user to perform 'admin' and 'delete' actions
                'actions' => array('delete', 'admin'),
                'users' => array('admin'),
            ),
            array('deny', // deny all users
                'users' => array('*'),
            ),
        );
    }
public function checkAccess($operation,$params=array(),$allowCaching=true) {
    die("it works!");
    if (empty($this->id)) {
        // Not identified => no rights
        return false;
    }
    $admin = $this->getState("admin");

    return ($operation === 'admin' && $admin == ROLE_ADMIN || $operation !== 'admin');
}
如果我理解-当我试图查看管理或删除操作时,它应该从WebUser类执行checkAccess函数。我的checkAccess函数如下所示:

 public function accessRules() {
        return array(
            array('allow', // allow all users to perform 'index' and 'view' actions
                'actions' => array('index', 'view', 'create'),
                'users' => array('*'),
            ),
            array('allow', // allow authenticated user to perform 'create' and 'update' actions
                'actions' => array('update'),
                'users' => array('@'),
            ),
            array('allow', // allow admin user to perform 'admin' and 'delete' actions
                'actions' => array('delete', 'admin'),
                'users' => array('admin'),
            ),
            array('deny', // deny all users
                'users' => array('*'),
            ),
        );
    }
public function checkAccess($operation,$params=array(),$allowCaching=true) {
    die("it works!");
    if (empty($this->id)) {
        // Not identified => no rights
        return false;
    }
    $admin = $this->getState("admin");

    return ($operation === 'admin' && $admin == ROLE_ADMIN || $operation !== 'admin');
}
所以它应该看到“它工作!”但我得到

错误403

您无权执行此操作


我做错了什么?

尝试将
'users'=>array('admin')
更改为
'roles'=>array('admin')
Try changing 'users'=>array('admin') to 'roles'=>array('admin')