Промежуточное ПО на основе параметра маршрута laravelPhp

Кемеровские программисты php общаются здесь
Anonymous
Промежуточное ПО на основе параметра маршрута laravel

Сообщение Anonymous »

У меня есть такой маршрут:

Код: Выделить всё

Route::get('users/{type}', ['as'=>'users.index', 'uses'=>'UserController@index', 'middleware' => ['can:user-index']])->where('type', '(members|enquiries)');
Могу ли я использовать здесь динамическое промежуточное программное обеспечение на основе типа параметра маршрута?

Например, если типом являются запросы, то промежуточное программное обеспечение должно быть «can:enquiries-index», аналогично для членов «can:members-index».

Я знаю, что это можно сделать в функции контроллера с помощью метода авторизации, но я использую все авторизации только в файле маршрута. ТАК хотел сохранить это только здесь.

Я использую определение Laravel Gates для авторизации маршрутов:

В AuthServiceProvider@boot

Код: Выделить всё

    Gate::before(function ($user, $ability) {
$permission = Permission::where('slug', $ability)->first();
return $user->hasPermissionTo($permission);
});
Версия Laravel: 7.9.2

Версия PHP: 7.2

Подробнее здесь: https://stackoverflow.com/questions/618 ... -parameter

Вернуться в «Php»