Использование сеанса в пользовательском промежуточном программном обеспечении в laravel

У меня есть простое промежуточное программное обеспечение, которое проверяет наличие ключа в сеансе пользователя.

<?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

Related of "Использование сеанса в пользовательском промежуточном программном обеспечении в laravel"