Промежуточное ПО Laravel с назначением нескольких ролей не работает

Привет, ребята, у меня проблемы с работой. Я много раз пытался поставить две роли в маршрут, чтобы гарантировать, что им будет предоставлен доступ к определенной странице, но моя другая роль, которая является сотрудником, все еще может получить к ней доступ. есть ли у вас какие-нибудь комментарии? помощь!

Route::get('/dashboard', [
  'as' => 'admin',
  'uses' => 'DashboardController@index',
  'middleware' => ['roles:Staff,Owner','auth']

Вы зарегистрировали промежуточное ПО в файле kernal.php?

Brad Goldsmith 07.12.2018 18:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
31
1

Ответы 1

Вам нужно будет добавить дополнительный параметр к вашей функции handle() в промежуточном программном обеспечении.

В вашей роли промежуточное ПО -

public function handle($request, Closure $next, $role1, $role2)
{
  $role1 //Staff
  $role2 //Owner
}

Если вы используете PHP 7 -

public function handle($request, Closure $next, ...$role)
{
  $role //[Staff, Owner]
}

Другие вопросы по теме