0

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

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

4

1 回答 1

1

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

public function hasRole($roleName, $userId) {
    $authManager = \Yii::$app->getAuthManager();
    return $authManager->getAssignment($roleName, $userId) ? true : false;
}
于 2017-07-19T07:50:20.240 回答