Laravel 5.2 Не работает

Как вы, ребята, знаете, что Laravel 5.2 был выпущен несколько дней назад. Я пробую эту новую версию. Я сделал новый проект, используя следующую команду в CLI:

laravel new testapp 

В соответствии с документацией Quickstart для проверки подлинности я выполнил следующую команду для маршрутов эскизов и представлений об аутентификации:

 php artisan make:auth 

Он работал нормально. Регистрация работает нормально. Но я столкнулся с проблемой в Login. После входа в систему я протестировал следующий файл route.php:

  Route::get('/', function () { dd( Auth::user()); return view('welcome'); }); 

Auth::user() возвращает null а также Auth::check() и Auth::guest() не работают должным образом. Я пробовал одно и то же снова и снова два раза три, создавая новые проекты, но не мог получить правильные результаты.

Ниже приведен полный route.php

  <?php /* |-------------------------------------------------------------------------- | Routes File |-------------------------------------------------------------------------- | | Here is where you will register all of the routes in an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the controller to call when that URI is requested. | */ Route::get('/', function () { dd( Auth::()); return view('welcome'); }); /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | This route group applies the "web" middleware group to every route | it contains. The "web" middleware group is defined in your HTTP | kernel and includes session state, CSRF protection, and more. | */ Route::group(['middleware' => ['web']], function () { // }); Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/home', 'HomeController@index'); }); 

Может кто-нибудь мне помочь? или Кто-нибудь сталкивается с той же проблемой? Как я могу это исправить?

В Laravel 5.2 представлена ​​концепция групп промежуточных программ : вы можете указать, что одно или несколько промежуточных программ принадлежат группе, и вы можете применить группу промежуточного программного обеспечения к одному или нескольким маршрутам

По умолчанию Laravel 5.2 определяет группу с именем web , используемую для группировки сеанса обработки промежуточного программного обеспечения и других утилит http:

 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, ], 

Итак, если вам нужна обработка сеанса, вы должны использовать эту промежуточную группу для всех маршрутов, в которых вы хотите использовать аутентификацию:

 Route::group( [ 'middleware' => ['web'] ], function () { //this route will use the middleware of the 'web' group, so session and auth will work here Route::get('/', function () { dd( Auth::user() ); }); }); 

ОБНОВЛЕНИЕ ДЛЯ ВЕРСИИ LARAVEL> = 5.2.27

Начиная с версии Laravel 5.2.27 , все маршруты, определенные в routes.php , по умолчанию используют группу промежуточного программного обеспечения. Это достигается в app/Providers/RouteServiceProvider.php :

 protected function mapWebRoutes(Router $router) { $router->group([ 'namespace' => $this->namespace, 'middleware' => 'web' ], function ($router) { require app_path('Http/routes.php'); }); } 

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

Во всяком случае, если вы хотите использовать аутентификацию по умолчанию для маршрута, вам все равно необходимо связать промежуточное ПО auth с маршрутом