Как проверить, играет ли пользователь, вошедший в систему, определенную роль в Yii2 - PullRequest
0 голосов
/ 07 октября 2018

Вот мой код:

$user = \Yii::$app->user->identity->id;
if($user->has['dce']){
    echo true;
}
else
{
    echo false;
}

Вот что я получаю:

Вызов функции-члена имеет () для целого числа

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

в rbac

создать несколько ролей

    $auth = Yii::$app->authManager;
    $auth->removeAll();

    $operator = $auth->createRole('operator');
    $admin = $auth->createRole('admin');

    $auth->add($operator);
    $auth->add($admin);

    $auth->addChild($admin, $operator);

добавить разрешение

    $someaction = $auth->createPermission('someaction');
    $someaction->description = 'ome action';
    $auth->add($someaction);

и

    $auth->addChild($admin, $someaction);

сейчас

if(Yii::$app->user->can('someaction')){
    return true;
} else{
   return false;
}
0 голосов
/ 07 октября 2018

Вы должны использовать can() метод:

return Yii::$app->user->can('dce');

Дополнительную информацию можно найти в документации в Проверка доступа раздел.

...