Session CakePHP身份验证会话与cookie未更新

Session CakePHP身份验证会话与cookie未更新,session,cakephp,cookies,authentication,Session,Cakephp,Cookies,Authentication,我有一个ACL+auth驱动的应用程序。一切正常,但我发现用户在一段随机时间后注销。在做了一些研究之后,我发现cookie集在页面刷新时不会改变它的过期日期。所以它是这样的: 我手动将过期时间设置为1分钟(Security.level低(在cake/libs中有一些更改)和超时60) 19:00:00-用户加载页面-cookie已设置 19:00:05-用户登录(cookie不会更改过期日期) 19:00:30-页面刷新(cookie不会更改过期日期) 19:00:55-页面刷新(cookie不

我有一个ACL+auth驱动的应用程序。一切正常,但我发现用户在一段随机时间后注销。在做了一些研究之后,我发现cookie集在页面刷新时不会改变它的过期日期。所以它是这样的:


我手动将过期时间设置为1分钟(Security.level低(在cake/libs中有一些更改)和超时60)

19:00:00-用户加载页面-cookie已设置

19:00:05-用户登录(cookie不会更改过期日期)

19:00:30-页面刷新(cookie不会更改过期日期)

19:00:55-页面刷新(cookie不会更改过期日期)

19:01:05-页面刷新-用户已注销。。。(cookie在1分钟后过期)

因此,问题是用户在60秒后从设置cookie中注销,而不是60秒不活动。CakePHP是否自动处理cookie文件?还是我必须自己处理?
我所做的只是在config/core.php中设置一个cookie名称并设置auth。我没有任何cookie处理功能,但是cookie是自己创建的-正确地说,只是没有更新

我也有同样的问题,并用下面的代码来解决,这些代码在每次页面加载和ajax调用时都会调用

    if(isset($_COOKIE[Configure::read("Session.cookie")])){
            $session_delay = Configure::read("Session.timeout") * (Configure::read("Security.level") == "low" ? 1800 : 100);
            setcookie(Configure::read("Session.cookie"), $_COOKIE[Configure::read("Session.cookie")], mktime() + $session_delay, "/");
    }

“蛋糕/库有一些变化”?!我想说所有的赌注都没有了。你到底改变了什么?为什么?除非您正在修复内核中的错误,否则不需要触摸
/cake
目录。您的服务器是否有suhosin修补程序?我正在考虑此解决方案。但我也在考虑将饼干的有效期设定为10年。