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

Мне просто интересно, знает ли кто-нибудь, как проверить время ожидания сеанса в Ларавеле.

Вы можете проверить, есть ли у сессии определенный элемент:

if (Session::has('name'))
{
$name = Session::get('name');
}

Но вы не можете проверить, истек ли сеанс. Было бы хорошо, чтобы я мог отчитаться перед пользователем более конкретным способом. «Время вашей сессии истекло, пожалуйста, начните снова».

Какие-нибудь мысли?

18

Решение

Просто используйте ту же логику, что и сам класс сеанса.

if ((time() - Session::activity()) > (Config::get('session.lifetime') * 60))
{
// Session expired
}

Поместите это в свой фильтр «до» — и он будет выполняться при каждом запросе.

24

Другие решения

Почему бы не сделать это?

if (!Session::has('name'))
{
$sessionTimeout = 1;
}

Если время сеанса истекло, имя больше не будет установлено. Затем вы можете написать код для ответа на $ sessionTimeout == 1;

2

По вопросам рекламы [email protected]