Comment obtenir le rôle d'utilisateur dans Yii2?
J'ai cherché et lu Guide Yii2 mais je n'ai trouvé aucune solution.
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);
Vous pouvez utiliser:
Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId());
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
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
Vous pouvez utiliser :
$user =[];
$userAssigned = Yii::$app->authManager->getAssignments(user_id);
foreach($userAssigned as $userAssign){
$user[] = $userAssign->roleName;
}
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