Как получить роль пользователя в Yii2?

Как получить роль пользователя в Yii2?

Я искал и читал коде с Yii2 руководство но я не нашел никакого решения.

7 ответов


вы можете получить роли для пользователя с помощью getRolesByUser функции

вы можете использовать его так

\Yii::$app->authManager->getRolesByUser($user_id);

вы можете использовать:

Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId());

Я использую :

if (\Yii::$app->authManager-> getAssignment($role,$rule_id))

фильтрация user id и role в rbac, больше деталей на Коде С Yii2 Документации


еще один пример того, как получить роль пользователя:
Yii::$app->getUser()->identity->role;
Это работает, если у вас есть столбец с именем "роль" в вашей таблице пользователей.


вы можете использовать :

 $user =[];
 $userAssigned = Yii::$app->authManager->getAssignments(user_id);
 foreach($userAssigned as $userAssign){
      $user[] = $userAssign->roleName;
 } 

Если вы используете amnah/коде с Yii2-пользователей модуль, вы можете использовать это:

Yii::$app->user->identity->role->name

Это даст вам текущее имя роли пользователя


вы можете получить роль пользователя с помощью createcommand.

    $roleModel = Yii::$app->db
    ->createCommand("Select * from auth_assignment where user_id='889'")
    ->queryOne();

    echo $roleModel['item_name'];

это будет роль пользователя в назначении auth. Теперь вы можете проверить, является ли пользователь администратором или редактором или членом.