Yii2でユーザーロールを取得する方法は?
私は検索して Yii2ガイド を読みましたが、解決策が見つかりませんでした。
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ドキュメント の詳細
ユーザーロールを取得する方法のもう1つの例:Yii::$app->getUser()->identity->role;
ユーザーテーブルに「role」という名前の列がある場合に機能します。
以下を使用できます。
$user =[];
$userAssigned = Yii::$app->authManager->getAssignments(user_id);
foreach($userAssigned as $userAssign){
$user[] = $userAssign->roleName;
}
より良い視覚的な決定は、すべての役割の定数を設定することです。
$userID = $user->getId();
array_keys(Yii::$app->authManager->getRolesByUser($userID))[0] == User::ROLE_NAME