Подтвердить что ты не робот

Laravel 5.2 сеанс входа в систему не сохраняется

Я использовал простую систему аутентификации на Laravel 5.2, используя Sentinel.

// Route : /login
$success = Sentinel::authenticate(array(
   'email'    => $email,
   'password' => $password,
));

echo $success ? 'Login success' : 'Login failed';

Итак, приведенный выше код выводит Login success после кода аутентификации. Но статус входа не сохраняется в других запросах. т.е.: если я проверю статус аутентификации от других запросов, он говорит, что я не вошел в систему!

// Route : test-login
echo \Sentinel::check() ? 'User is logged in' : 'User is not logged in';

Я даже пытался реализовать аутентификацию defar laravel с помощью \Auth::attempt. Но это тоже дает то же самое.

Любая помощь по этому поводу очень ценится.

4b9b3361

Ответ 1

В Laravel 5.2 вам нужно применить группу web middlewere для всех ваших маршрутов, которые вы не должны делать, чтобы сеансы работали. Это основное изменение от Laravel 5.1.

Посмотрите https://laravel.com/docs/5.2/routing#basic-routing

Файл route.php по умолчанию выглядит следующим образом:

Route::group(['middleware' => ['web']], function () {
    // here you should put your routes
});

ИЗМЕНИТЬ

Вы также можете посмотреть https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php в свойстве middlewareGroups, чтобы узнать, какие посредники увольняются для группового промежуточного программного обеспечения web