#php #laravel
Вопрос:
Как я могу сделать доступ к панели администратора новым только для пользователей с ролью суперадминистратора? Я добавил в NovaServiceProvider -> ворота не помогли
protected function gate()
{
Gate::define('viewNova', function ($user) {
/** @var AppModelsUser $user */
return $user->hasRole('super-admin');
});
}
Ответ №1:
вы можете использовать NovaServiceProvider для определения своих собственных ворот:
в /app/Providers/NovaServiceProvider.php
protected function gate()
{
Gate::define('viewNova', function ($user) {
if( !user->hasRole('super-admin') ){
abort(403);
}
return true;
});
}
Комментарии:
1. Такое чувство, что nova игнорирует мой метод, независимо от того, какое условие я пишу
2. @РомаЛытарь «Эти ворота определяют, кто может получить доступ к Nova в нелокальных средах».