如何设置特定会话的到期时间

时间:2017-05-20 13:00:17

标签: php laravel session laravel-5

我正在与Laravel合作。我的问题是在Laravel以任何方式管理特定到期时间的特定会话。

我从 session.php 延长会话过期时间,但此处适用于所有会话。

例如,我想管理登录会话1周或特定时间,其他会话应在1小时后或正常时间过期,如关闭浏览器。

1 个答案:

答案 0 :(得分:1)

您可以尝试将会话分配的日期保存到用户。 我们有一个用户名的例子。

拥有id,user_id,session_name和created_at的mysql表session,您可以执行以下操作:

$s = new Session;
$s->user_id = $user_id;
$s->session_name = 'name';

然后在你的应用程序中你可以简单地检查NOW和$ s-> created_at之间的时间是否大于你感兴趣的值(比如7天左右)。如果是 - 删除记录并删除会话: session()->forget($s->session_name);

修改

您还可以添加一段持续时间,以便在时间过去后动态忘记会话。