php - 在Yii2中,php如何获取用户角色?

如何在Yii2中获取用户角色?

时间:

可以使用getRolesByUser函数为用户获取角色

你可以像这样用


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



可以使用:


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



我使用:


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



另一个示例如何获取用户角色:
Yii::$app->getUser()->identity->role;
如果用户表中有名为"role"的列,则此方法有效。

可以使用:


 $user =[];


 $userAssigned = Yii::$app->authManager->getAssignments(user_id);


 foreach($userAssigned as $userAssign){


 $user[] = $userAssign->roleName;


 } 



可以使用CreateCommand获取用户的角色。


 $roleModel = Yii::$app->db


 ->createCommand("Select * from auth_assignment where user_id='889'")


 ->queryOne();



 echo $roleModel['item_name'];



现在你可以检查用户是否是admin或editor或member。

...