yii2-admin检查用户的角色

时间:2015-01-22 20:11:11

标签: php yii2 role yii2-user

我有一个角色Creator,我想知道如何检查登录用户是否已为其分配Creator

我在User课程中创建了一个函数:

public function getIsCreator(){
     $role = Yii::$app->authManager->getRole('Creator')->name;
     $rolesById = Yii::$app->authManager->getRolesByUser($this->id);

     return in_array($role, $rolesById);
}

谁能告诉我哪里出错了?因为上面的代码没有按预期验证。

1 个答案:

答案 0 :(得分:1)

要检查用户是否具有给定角色,您可以使用此功能:

public function hasRole($roleName, $userId) {
    $authManager = \Yii::$app->getAuthManager();
    return $authManager->getAssignment($roleName, $userId) ? true : false;
}