当我登录时,它设置状态:
我的代码:
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
是否设置为 是的,那我就可以访问控制器测试了。否则我没有这个角色 访问。
我该怎么做?
答案 0 :(得分:2)
您可以在访问规则中使用expression:
public function accessRules() {
return array(
array('allow',
'actions' => array('index', 'delete'),
'expression'=>'Yii::app()->user->getState("isSuperAdmin")',
),
...