[英]How to get user role in Yii2?
您可以使用:
Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId());
我用 :
if (\Yii::$app->authManager-> getAssignment($role,$rule_id))
用于过滤rbac中的user id
和role
,有关Yii2文档的更多详细信息
另一个示例如何获得用户角色:
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
您可以使用createcommand获取用户的角色。
$roleModel = Yii::$app->db
->createCommand("Select * from auth_assignment where user_id='889'")
->queryOne();
echo $roleModel['item_name'];
这将是您在auth赋值中的角色。 现在,您可以检查用户是管理员,编辑者还是成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.