如何在Yii中设置'用户' =>数组(' admin')?

时间:2013-02-03 03:55:55

标签: php yii

我的WebUser getIsAdmin

中有一项功能
public function getIsAdmin() {
    $user = $this->loadUser(Yii::app()->user->id);
    if ($user === null) {
        return false;
    }
    return intval($user->user_level_id) == AccountModule::USER_LEVEL_ADMIN;
}

然而我的控制器中的规则无法正常工作

array('allow',
      'actions'=>array('index','create','upload'),
      'users'=>array('admin'),
),

我在哪里设置,以便用户是admin

1 个答案:

答案 0 :(得分:3)

访问控制过滤器中的users属性仅检查用户名,即检查Yii::app()->user->name=='admin'。在您的方案中,您可以使用expression属性。仅当表达式求值为true时才授予访问权限。 $user变量可以在表达式中用作Yii::app()->user的别名。所以你的情况将是

array('allow',
      'actions'=>array('index','create','upload'),
      'expression'=>'$user->getIsAdmin()',
),