Yii问题中的访问规则

时间:2015-05-06 13:26:53

标签: php yii

当我登录时,它设置状态:

我的代码

 if (condition){
       Yii::app()->user->setState('isSuperAdmin', true);
    }else{
         Yii::app()->user->setState('isSuperAdmin', false);
    }

这是一个自定义控制器,其名称为test,并具有以下功能:

自定义控制器:

public function accessRules() {
        return array(
            array('allow',
                'actions' => array('index', 'delete'),
                'roles'=>array('Yii::app()->user->getState("isSuperAdmin")'),
            ),
            array('deny', // deny all users
                'users' => array('*'),
            ),
        );
    }
  

此处使用accessRules()。我想检查isSuperAdmin是否设置为   是的,那我就可以访问控制器测试了。否则我没有这个角色   访问。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以在访问规则中使用expression

public function accessRules() {
    return array(
        array('allow',
            'actions' => array('index', 'delete'),
            'expression'=>'Yii::app()->user->getState("isSuperAdmin")',
        ),
        ...