Есть ли способ минимизировать количество файлов промежуточного программного обеспечения? - PullRequest
0 голосов
/ 15 октября 2019

Я настраиваю «контроль доступа» в своем личном проекте, чтобы добиться того, чтобы я научился использовать промежуточное ПО для контроля того, кто может к чему получить доступ, но способ, которым я научился, не выглядит лучшим

Я создал уникальное промежуточное ПО для каждого типа пользователей (администратор, модератор, пользователь и т. д.), но для меня это слишком много для простой вещи. Я сделал это в своей консоли для каждого из них

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');

Итак, я пытаюсь сказать: есть другой способсделать это, не создавая промежуточное ПО для каждой «роли» в моем проекте? Способ объединить проверку в одном файле, или это то, что должно произойти, чтобы дать каждому файлу единственную ответственность.

...