У меня есть простое промежуточное программное обеспечение, которое проверяет наличие ключа в сеансе пользователя.
<?php namespace App\Http\Middleware; use Closure; class CustomAuth { public function handle($request, Closure $next) { if($request->session()->has('uid')){ return $next($request); } else{ return view('unauth'); } } }
Проблема в том, что я всегда получаю «хранилище сеансов не задано по запросу». ошибка. Вот мой маршрут:
Route::get('home', function () { return view('home'); })->middleware('web', 'CustomAuth');
Я добавил промежуточное программное обеспечение в app \ Http \ Kernel.php в переменной $ middleware
protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\CustomAuth::class ];
Я также попытался изменить свой маршрут:
Route::group(['middleware' => ['web']], function () { Route::get('home', function () { return view('home'); })->middleware('CustomAuth'); });
Но это не сработало. Любая идея, как я могу убедиться, что сеанс запущен, или запустить его до вызова промежуточного программного обеспечения? Я использую Laravel 5.3