在拉拉维尔中检查会话超时
我只是想知道是否有人知道如何在Laravel中检查会话超时。
您可以检查会话是否具有特定项目:
if (Session::has('name'))
{
$name = Session::get('name');
}
但您无法检查会话是否已过期。这样我就可以用更具体的方式向用户报告。“您的会话已超时,请重新开始。”
有什么想法吗?
我只是想知道是否有人知道如何在Laravel中检查会话超时。
您可以检查会话是否具有特定项目:
if (Session::has('name'))
{
$name = Session::get('name');
}
但您无法检查会话是否已过期。这样我就可以用更具体的方式向用户报告。“您的会话已超时,请重新开始。”
有什么想法吗?
只需使用与会话类本身相同的逻辑即可。
if ((time() - Session::activity()) > (Config::get('session.lifetime') * 60))
{
// Session expired
}
将其放在“之前”过滤器中 - 它将在每个请求上运行。
为什么不这样做呢?
if (!Session::has('name'))
{
$sessionTimeout = 1;
}
如果会话超时,则将不再设置该名称。然后,您可以编写一些代码来响应$sessionTimeout == 1;