it-swarm.com.de

Wie bekomme ich eine Benutzerrolle in Yii2?

Wie bekomme ich eine Benutzerrolle in Yii2?

Ich suchte und las Yii2 guide aber ich fand keine Lösung.

15
b24

Sie können Rollen für einen Benutzer erhalten, indem Sie die Funktion getRolesByUser verwenden

Sie können es so verwenden

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

Sie können verwenden:

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

Ich benutze :

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

zum Filtern von user id und role in rbac Weitere Informationen zur Yii2-Dokumentation

7
elfarqy

Wenn Sie das Modul amnah/yii2-user verwenden, können Sie Folgendes verwenden:

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

Sie erhalten den aktuellen Namen der Benutzerrolle

0
Imtiaz

Ein weiteres Beispiel zum Abrufen der Benutzerrolle:
Yii::$app->getUser()->identity->role;
Es funktioniert, wenn Sie eine Spalte mit dem Namen "role" in Ihrer Benutzertabelle haben.

0
Denis Solovyov

Sie können verwenden:

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

Die gute und visuellere Entscheidung wird Konstanten für alle Rollen festlegen.

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