В вашем файле маршрутов вы можете указать несколько промежуточных программ, выполнив.
Route::middleware(['auth:api', 'auth'])->group(function() {
//my routes
});
Но, похоже, вы можете использовать auth:api
в вашем файле API-маршрутов и auth
в вашем файле веб-маршрутов.
Кроме того, если вы хотите использовать промежуточное программное обеспечение для всего контроллера без группировки по маршрутам, вы можете использовать группы промежуточного программного обеспечения.
В вашем Http Kernel.php
добавьте новый индекс в массив $middlewareGroups
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
'auth:api',
],
'both' => [
'auth:api',
'auth'
],
];
Тогда в вашем контроллере вы сможете сделать:
public function __construct() {
$this->middleware('both');
}
Кроме того, вы можете исключить методы внутри контроллера из группы промежуточного программного обеспечения.
public function __construct() {
$this->middleware('both', ['except' => [ 'methodOne', 'methodTwo' ]]);
}