2

在我的app.php我有:

'Session' => [
    'cookie' => 'app_sid',
    'defaults' => 'cake',
    'timeout' => 20160, // The session will timeout after 20160 minutes of inactivity
    'cookieTimeout' => 20160, // The session cookie will live for at most 2 weeks, this does not effect session timeouts
    'autoRegenerate' => TRUE
]

我想要实现的是让用户无论他们的行为如何都可以登录。这意味着用户应该保持登录状态 2 周,除非他选择手动注销。关闭浏览器窗口不应注销服务器。

现在,当我关闭浏览器窗口时,它会注销用户。

我怎样才能防止这种情况?

4

1 回答 1

1

会话只持续到用户关闭浏览器,或者一段时间不活动。

您需要使用 cookie 实现持久登录系统。

CakePHP为读取/写入 cookie 提供了一个简单的包装器。您需要做的是在用户进入您的登录页面时检查 cookie,然后让他登录。

必须考虑一些安全注意事项,我建议您阅读这篇文章

于 2015-12-12T09:38:30.027 回答