修改CakePHP会话的会话cookie到期和会话超时

时间:2012-02-15 11:55:18

标签: session cakephp cakephp-1.3 session-timeout

我正在努力完成以下任务: 根据用户的类型更改用户的会话cookie到期日期。

我有一个CakePHP Web应用程序,其中我使用CakePHP会话创建了我的身份验证组件(而不是CakePHP的Auth)。我已经将CakePHP配置为使用数据库处理会话。

以下是我在config.php中的相关配置设置:

Configure::write('Session.save', 'database');
Configure::write('Session.timeout', '36');
Configure::write('Security.level', 'medium');

如何延长会话Cookie到期日期并更新“会话”表中“过期”列中的值?

2 个答案:

答案 0 :(得分:6)

进入app / config / core.php

在此文件中搜索,

Configure::write('Session.timeout', '120');

会话超时时间(以秒为单位),默认为120秒。您可以根据需要在此处进行编辑。 现在实际的超时持续时间取决于,

Configure::write('Security.level', 'medium');

if 'high' then Session timeout in 'Session.timeout' x 10, 
if 'medium' then Session timeout in 'Session.timeout' x 100, 
if 'low'    Session timeout in 'Session.timeout' x 300

因此,通过Session.timeout和Security.level的组合,您可以获得所需的会话超时

答案 1 :(得分:4)

找到这个:app/config/core.php

以分钟为单位将此行更改为所需的值:
Configure::write('Session.timeout', '120');

(因为不再使用CakePHP 2.3.0 Security.level 更改日志:http://cakephp.org/changelogs/2.3.0