web-dev-qa-db-ja.com

Yii2でユーザーロールを取得する方法は?

Yii2でユーザーロールを取得する方法は?

私は検索して Yii2ガイド を読みましたが、解決策が見つかりませんでした。

15
b24

getRolesByUser 関数を使用して、ユーザーのロールを取得できます。

このように使用できます

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

次を使用できます。

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

私が使う :

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

フィルタリング用user idおよびrole rbac、 Yii2ドキュメント の詳細

7
elfarqy

amnah/yii2-user モジュールを使用している場合、これを使用できます。

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

現在のユーザーロール名が表示されます

0
Imtiaz

ユーザーロールを取得する方法のもう1つの例:
Yii::$app->getUser()->identity->role;
ユーザーテーブルに「role」という名前の列がある場合に機能します。

0
Denis Solovyov

以下を使用できます。

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

より良い視覚的な決定は、すべての役割の定数を設定することです。

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