Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2获取登录用户的角色_Yii2 - Fatal编程技术网

Yii2获取登录用户的角色

Yii2获取登录用户的角色,yii2,Yii2,有人能给我解释一下如何使用这个功能吗 getRoleByUser() 用于获取登录用户角色的相关表 我试过这个 $Role = Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId()); print_r($Role); exit(); 但是我犯了以下错误 Getting unknown property: yii\web\Application::findByUsername 试

有人能给我解释一下如何使用这个功能吗

getRoleByUser()
用于获取登录用户角色的相关表

我试过这个

$Role = Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId());
    print_r($Role);
    exit();
但是我犯了以下错误

Getting unknown property: yii\web\Application::findByUsername
试试这个

\Yii::$app->authManager->getRolesByUser($user_id);
从身份验证管理器中可以获得它。

使用

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


错误似乎与您发布的代码无关-您的
WebUser
组件中可能有一些错误。
if ($userRole) {

  foreach ($userRole as $role) {
     $roles[] = $role->name;
  }

  // if user have 1 role then $userRole will be a string containing it
  // othewhise let $userRole be an array containing them all

   $userRole = count($roles) === 1 ? $roles[0] : $roles ;
 }