Как автоматически перенаправить на страницу входа при выходе из сессии в laravel 5.5 - PullRequest
0 голосов
/ 10 января 2019

У меня следующая конфигурация сеанса в config/session.php

/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

'lifetime' => env('SESSION_LIFETIME', 5),

'expire_on_close' => true,

Я просрочил сеанс, когда пользователь неактивен в течение 5 минут и перенаправил его на страницу входа. Он работает для всех маршрутов и перенаправляет пользователя на вход в систему, но после истечения сеанса, когда пользователь отправляет запрос на выход из системы, он отображает

 The page has expired due to inactivity.  Please refresh and try again. 

Для всех остальных маршрутов работает корректно.

Что мне нужно сделать, чтобы это исправить?

ПРИМЕЧАНИЕ. Я уже видел следующие вопросы. Никто не работает для меня.

Перенаправление автоматически, когда пользовательский сеанс истекает в Laravel 5.5

Проверка времени ожидания сеанса в Laravel

1 Ответ

0 голосов
/ 10 января 2019

Вы можете защитить каждый свой путь к промежуточному программному обеспечению.

protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'App\Http\Middleware\VerifyCsrfToken',
'App\Http\Middleware\Authenticate',// add this line according to your namespace
];


it will redirect the user if not logged in. UPDATE Keep in mind that adding auth middleware as global will create redirect loop so avoid it.

Or if you want specific routes to be protected then attach the middleware auth to that route

Route::get('admin/profile', ['middleware' => 'auth', function () {
//
}]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...