yii2-admin проверить роль пользователя

У меня есть роль 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 ответ

Чтобы проверить, имеет ли пользователь заданную роль или нет, вы можете использовать эту функцию:

public function hasRole($roleName, $userId) {
    $authManager = \Yii::$app->getAuthManager();
    return $authManager->getAssignment($roleName, $userId) ? true : false;
}
Другие вопросы по тегам