web-dev-qa-db-fra.com

Comment obtenir le rôle d'utilisateur dans Yii2?

Comment obtenir le rôle d'utilisateur dans Yii2?

J'ai cherché et lu Guide Yii2 mais je n'ai trouvé aucune solution.

15
b24

Vous pouvez obtenir des rôles pour un utilisateur en utilisant getRolesByUser function

Vous pouvez l'utiliser comme ça

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

Vous pouvez utiliser:

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

J'utilise :

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

pour filtrer user id et role dans rbac, Plus de détails sur Yii2 Documentation

7
elfarqy

Si vous utilisez amnah/yii2-user module, vous pouvez utiliser ceci:

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

Il vous donnera le nom du rôle d'utilisateur actuel

0
Imtiaz

Vous pouvez utiliser :

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

La décision bonne et plus visuelle consistera à définir des constantes pour tous les rôles.

$userID = $user->getId();
array_keys(Yii::$app->authManager->getRolesByUser($userID))[0] == User::ROLE_NAME
0
Alliswell