Laravel 7 Автоматический выход из системы по истечении сеанса

#laravel

Вопрос:

Я хотел бы выйти из системы и перенаправиться на страницу входа в систему, когда закончится сеанс в Laravel 7. Может ли кто-нибудь помочь мне в этом? Спасибо

Комментарии:

1. Он уже делает это правильно? Вы имеете в виду, что хотите настроить тайм-аут сеанса laravel?

2. Взгляните на это

3. Спасибо за ваш быстрый ответ. Это не автоматический выход из системы, и когда мы нажимаем после истечения срока действия сеанса, это вызывает некоторое сообщение об ошибке, показывая все коды. Я бы хотел избежать такого сценария. Этот пост я тоже уже пробовал. Когда я добавляю код в ядро, он показывает некоторую ошибку.

4. не могли бы вы также опубликовать сообщение об ошибке?

5. «это вызывает некоторое сообщение об ошибке, показывая все коды»; это звучит так, как будто ваше приложение находится в режиме разработки

Ответ №1:

Обычно эта функция реализована в Laravel. Вам нужен запрос POST на маршрут «/выход » с (и, следовательно, поле csrf в вашем запросе).

Обычно у вас в блейде есть скрытая форма для этого и кнопка или ссылка (это зависит от того, что вы используете), которая активирует отправку формы (с помощью javascript).

Например, в базовом шаблоне laravel у нас есть это:

Форма, которая скрыта:

 <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
  @csrf
</form>
 

Ссылка, используемая здесь, чтобы позволить пользователю выйти из системы:

 <a href="#" onclick="event.preventDefault(); document.querySelector('#logout-form').submit();">