2014-01-06 42 views
2

我使用助手Sentry::authenticateAndRemember($credentials);来验证用户,但过了一段时间(几天),我断开连接。使用的会话驱动程序是数据库之一。哨兵2与Laravel 4,请记住身份验证

我调查了这个问题,并试图理解Sentry如何记住用户的身份验证。 首先,在会话表中,有没有人知道有效载荷代表什么?我检查了创建的cookie,我不明白为什么,但过期日期设置为一个月后(而源代码看起来像5年后设置)。 另外,我试图在不记得他的情况下登录用户(Sentry::authenticate($credentials, false);),并且我得到了完全相同的cookie,因此在退出浏览器时我不会断开连接。

有没有人有任何线索解释我说的任何事情?

回答

1

我发现我的问题的解决方案,在php.ini中,变量session.gc_maxlifetime设置为1440.此设置指定数据被视为'垃圾'之后的秒数,因此24分钟后我的会话失效。

将其设置为2592000(30天)后,问题就解决了,我希望这能帮助某人。

0

在Sentry2与Laravel 4.1 Cookie的截止日期是在供应商> caralyst>哨兵>测试> CICookiesTest.php线61

默认是刚刚1440秒,这样很容易使该贴了好位长一点。