У меня есть роль 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;
}
Других решений пока нет …