Проверка тайм-аута сеанса в Laravel
Мне просто интересно, знает ли кто, как проверить тайм-аут сеанса в Laravel.
Вы можете проверить, имеет ли сеанс определенный элемент:
if (Session::has('name'))
{
$name = Session::get('name');
}
Но вы не можете проверить, закончился ли сеанс. Было бы неплохо, чтобы я мог сообщить об этом пользователю более конкретным образом. "Ваша сессия закончилась, пожалуйста, начните снова".
Любые мысли?
Ответы
Ответ 1
Просто используйте ту же логику, что и сам класс сеанса.
if ((time() - Session::activity()) > (Config::get('session.lifetime') * 60))
{
// Session expired
}
Поместите это в свой фильтр "before", и он будет запускаться по каждому запросу.
Ответ 2
Почему бы не сделать это?
if (!Session::has('name'))
{
$sessionTimeout = 1;
}
Если время сеанса заканчивается, имя больше не будет установлено. Затем вы можете написать код для ответа на $sessionTimeout == 1;