Вот макет моего кода маршрутизации:
Route::group([
'prefix' => 'account',
], function () {
Route::group([
'middleware' => 'basicAuth',
], function () {
Route::post('profile', 'Account\AccountController@profile');
});
});
Route::group(['prefix' => 'browse'], function () {
Route::post('catalogue', 'Browsing\BrowsingController@catalogue');
});
Kernel.php
:
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
// Removed code not relevant to problem
];
protected $middlewareGroups = [
// Removed code not relevant to problem
];
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'basicAuth' => \App\Http\Middleware\BasicAuth::class
];
}
И ./account/profile
, и ./browse/catalogue
работают только в том случае, если были предоставлены учетные данные пользователя Basic Auth, хотя только для account
была указана Basic Auth.
Как я могу заставить Basic Auth применяться только к одной из групп маршрутизации?