Laravel auth не может выйти из системы, и сеанс пользователя всегда заполнен

Я использую аутентификацию по умолчанию из Laravel 5.7 и вношу некоторые изменения в отображение страницы входа. Я входил в систему несколько раз и могу нормально работать, после того, как я остался на день, и я снова открыл свое приложение, я обнаружил проблему, когда пользователь, которого я последний раз использовал, все еще был в системе (не оставалось выхода / сеанса пользователя), хотя уже перезапущен. когда я пытаюсь выйти из системы (используя функцию выхода), может появиться сообщение об ошибке

MethodNotAllowedHttpException
No message

Я не уверен, это ошибка функции «Запомнить меня» или нет. Я искал решение, но не нашел, возможно, из-за неправильного запроса.

  • Для LoginController, промежуточного программного обеспечения auth и т. Д. Он все еще находится в стандартном состоянии, я никогда его не менял

Функция выхода  ошибка выхода из системы

Моя форма входа  форма входа

это мой маршрут  мой маршрут

список маршрутов 1  список маршрутов

список маршрутов

список маршрутов 2


person Juliar Nasution    schedule 30.11.2018    source источник
comment
Выброшенное исключение означает, что с вашими маршрутами что-то не так. Убедитесь, что он определен как маршрут GET, а не как POST (или что-то еще)! Если вы не знаете, что делать, сообщите нам свои маршруты.   -  person Romano Schoonheim    schedule 30.11.2018
comment
нет, не менял мой маршрут авторизации, я просто добавляю какой-нибудь метод маршрута для своего UserController   -  person Juliar Nasution    schedule 30.11.2018
comment
Хм, странно! Не могли бы вы предоставить мне вывод php artisan route: list?   -  person Romano Schoonheim    schedule 30.11.2018
comment
я обновил свой вопрос   -  person Juliar Nasution    schedule 30.11.2018
comment
я был решен, спасибо   -  person Juliar Nasution    schedule 30.11.2018


Ответы (1)


Laravel 5.4+ использует метод post для выхода, поэтому вместо простого запроса url (get) вы должны опубликовать форму для выхода.

Попробуйте что-нибудь подобное

<a href="#" onclick="document.getElementById('logout-form').submit();"> Logout</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
    {{ csrf_field() }}
</form>
person localroot    schedule 30.11.2018
comment
это работает, я не знаю, как это дает другой результат с моим методом выхода - person Juliar Nasution; 30.11.2018
comment
это мой код <li><a href="{{route('logout')}}"><i class="ti-power-off m-r-10 text-danger"></i> Logout</a></li> - person Juliar Nasution; 30.11.2018
comment
и как это повлияет на мою пользовательскую сессию? не могли бы вы это объяснить? - person Juliar Nasution; 30.11.2018
comment
Надеюсь, ты понял. Вы использовали простой метод получения. - person localroot; 30.11.2018