Yii2-管理员检查用户角色



>我有一个角色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);
}

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

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

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

相关内容

  • 没有找到相关文章

最新更新