У меня проблема:Laravel 5,3 промежуточного порядок исполнения ошибка
Независимо от того, что я делаю, то Auth промежуточного слой всегда выполняются перед другими промежуточными программным!
Вот что я пробовал: Создан промежуточное имя аа (так что предшествует AUTH по крайней мере, в алфавитном порядке).
Я также поставил его перед AUTH один в Kernel.php
Затем я создал вложенную группу маршрутов:
Route::group(['prefix' => 'test', 'middleware' => 'aa'], function() {
Route::get('/', function() {
return 'test';
});
Route::group(['prefix' => 'test2', 'middleware' => 'auth:api'], function() {
Route::get('/', function() {
return 'test2';
});
});
});
Если я иду в /test/test2
аутентификации промежуточного слоя запускается на выполнение перед aa один.
Если я пойду /test
то я вижу аа промежуточного слоя выполняется ..
код промежуточного слоя очень просто:
public function handle($request, Closure $next)
{
dd('aa middleware!');
}
Вот Kernel.php с просьбой от @Rimon Хана
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
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,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'bindings',
],
];
protected $routeMiddleware = [
'aa' => \App\Http\Middleware\Aa::class,
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class
];
}
Edit: не @prateekkathal вы не будете конвертировать меня использовать пробелы вместо вкладок, даже если вы сила отредактируйте мой пост и измените отступ! lol
Что вы хотите сделать? предоставить более подробную информацию. –
Я хочу, чтобы промежуточное программное обеспечение моего выбора выполнялось до того, как один из – nonsensei
предоставил файл kernel.php –