【问题标题】:Modify session cookie expiry and session timeout for a CakePHP session修改 CakePHP 会话的会话 cookie 过期和会话超时
【发布时间】:2012-02-15 11:55:18
【问题描述】:

我正在努力完成以下任务: 根据用户类型更改用户的会话 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 的到期日期并更新 "sessions" 表中 "expires" 列中的值?

【问题讨论】:

标签: session cakephp cakephp-1.3 session-timeout


【解决方案1】:

进入 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 的组合,您可以获得所需的会话超时

【讨论】:

  • 可以动态配置吗?说某些用户的到期时间比其他用户长?
【解决方案2】:

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

在几分钟内将此行更改为您想要的值:
Configure::write('Session.timeout', '120');

(由于不再使用 CakePHP 2.3.0 Security.level
更新日志:http://cakephp.org/changelogs/2.3.0)

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 2019-05-27
    • 2015-07-17
    • 2013-06-13
    相关资源
    最近更新 更多