0

我在 LAMP 服务器上使用 CakePHP v2,如果用户保持活动状态,我似乎遇到了会话无法自动更新的问题。

换句话说,如果我将会话 cookie 设置为 3 天,那么即使用户一直处于活动状态,用户也会在 3 天后注销。

起初,我认为这可能是正确的行为,但是当我发布一个关于它的问题(Extending the life of the CakePHP Session Cookie)时,我得到的唯一答案倾向于表明我正在经历的行为不是默认的行为。

所以,大概我在某个地方做错了什么。这是我在 APP/Config/core.php 中放入的内容:

Configure::write('Session', array(
    'defaults' => 'database',
            'cookie' => 'mycookie',
            'timeout' => 4320 //3 days
));

我只希望 cookie 从用户的最后一次活动开始保持有效 3 天。即使用户一直处于活动状态,它目前正在做的事情也会在 3 天后过期。

4

2 回答 2

1

把它放在 AppController 中的 afterFilter 操作中:

$this->Session->renew();

这会更新会话 cookie。

(如果我出于某种原因进入前端,将其放入 beforeFilter 会导致我的管理会话过期。)

于 2013-03-03T20:28:00.597 回答
0

我认为您需要创建一个自定义会话处理程序来满足您的要求。(只需在阅读时更新会话的过期时间。)

于 2012-06-01T06:02:31.027 回答