Я настраиваю «контроль доступа» в своем личном проекте, чтобы добиться того, чтобы я научился использовать промежуточное ПО для контроля того, кто может к чему получить доступ, но способ, которым я научился, не выглядит лучшим
Я создал уникальное промежуточное ПО для каждого типа пользователей (администратор, модератор, пользователь и т. д.), но для меня это слишком много для простой вещи. Я сделал это в своей консоли для каждого из них
php artisan make:middleware isAdmin
php artisan make:middleware isModerator
php artisan make:middleware <...>
И после модификации промежуточного программного обеспечения мне нужно было изменить файл app / Http / Kernel.php , чтобы использовать его:
protected $routeMiddleware = [
<...>,
'is_admin' => \App\Http\Middleware\isAdmin::class,
'is_mod' => \App\Http\Middleware\isModerator::class,
];
А потом я изменил свои маршруты (этот только для примера):
Route::get('/dashboard', function () {
return view('admin.dashboard');
})->middleware('auth')->middleware('is_admin');
Route::get('/home', function () {
return view('user.profile');
})->middleware('auth')->middleware('is_user');
Итак, я пытаюсь сказать: есть другой способсделать это, не создавая промежуточное ПО для каждой «роли» в моем проекте? Способ объединить проверку в одном файле, или это то, что должно произойти, чтобы дать каждому файлу единственную ответственность.