在我的 Cake 2 应用程序中,我在 APP/Config/core.php 中有以下代码:
Configure::write('Session', array(
'defaults' => 'database',
'cookie' => 'mycookie',
'timeout' => 4320 //3 days
));
这主要按预期工作。会话存储在数据库中,cookie 命名正确,cookie 在 3 天后被删除。
不幸的是,这并不是我想要的。我希望在 3 天后删除 cookie,但我希望在用户最后一次在网站上处于活动状态后 3 天。换句话说:
1) 用户周一访问网站,cookie 设置为周三到期。但是,他周二回来,所以现在 cookie 将在周四到期。
2) 用户周一访问网站,直到周四才再次访问,因此必须生成一个新的 cookie。
起初我认为这可能是添加的问题,Session.autoRegenerate
但这似乎没有任何帮助。即使使用此设置,即使用户在整个 3 天期间都在网站上处于活动状态,cookie 似乎仍然会在 3 天后被删除。