我正在使用cakephp 2.0开发网站。网站将仅包含2种类型的用户。管理员和用户(客户)。现在我需要为客户设置10分钟的会话时间,为管理员设置1小时的会话时间。可能吗 ?。我的core.php文件包含这样的行,
Configure::write('Session', array(
'defaults' => 'php',
'cookie' => 'xyz',
'timeout' => 10,
'checkAgent' => false,
));
答案 0 :(得分:3)
我在core.php文件中添加了以下行。快速修复
如果(strripos($ _ SERVER [ 'REDIRECT_URL'], “管理/”)) {
配置:: write('Session',数组(
'defaults'=> 'PHP',
'cookie'=> 'XYZ',
'timeout'=> 60,
'checkAgent'=>假的,
));
}
否则
{
配置:: write('Session',数组(
'defaults'=> 'PHP',
'cookie'=> 'XYZ',
'timeout'=> 10,
'checkAgent'=>假的,
));
}
答案 1 :(得分:3)
在AppController
中执行此条件比在更大程度上更改core.php更正确。你只能这样做:
Configure::write('Session.timeout', 60);
如果您使用的是Acl,请使用自己的Acl方法strripos
验证用户是否为管理员。