Laravel Исправлена ​​ошибка истечения срока сеанса, не выходящая из системы - PullRequest
1 голос
/ 14 июля 2020

Итак, у меня есть эта ошибка в приложении Laravel, где после истечения срока сеанса пользователя и выхода из системы они попадают в представление со следующим сообщением The page has expired due to inactivity. Please refresh and try again. Но обновление не решает проблему.

Итак, после долгой отладки и чтения на net я вижу, что причина ошибки в том, что @csrf _token на целевой странице и запрос 'XSRF-TOKEN не соответствует. Таким образом, пользователь остается на странице, которая «обновляется». :

Чтобы решить проблему, я использовал [этот] (https://github.com/mchekin/rpg/blob/master/app/Http/Middleware/VerifyCsrfToken.php) хитрый трюк, чтобы взломать проблему. Затем это приводит к другой ошибке view [auth.login] not found.

Для решения этой проблемы существует маршрут showLoginForm get в LogginController, который я выполнял как перенаправление на / моего приложения.

Больше нет проблем с истечением срока действия страницы, за исключением того, что пользователь не вышел из системы. Если я щелкну стрелку предыдущей страницы в браузере, я перейду к последнему просмотренному лезвию.

Как я могу решить эту проблему с токеном в hiney и одновременно выйти из системы? нормальная php функция

if (isset($request)) {
   session_destroy($request);
}

// or
// set the following as except in VerifyCsrfToken class
protected $except = [
        'mysite/logout',
    ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...