CAKEPHP 2.0中管理员和用户的不同会话超时。可能吗?

时间:2012-02-28 05:36:34

标签: cakephp cakephp-1.3 cakephp-2.0

我正在使用cakephp 2.0开发网站。网站将仅包含2种类型的用户。管理员和用户(客户)。现在我需要为客户设置10分钟的会话时间,为管理员设置1小时的会话时间。可能吗 ?。我的core.php文件包含这样的行,

Configure::write('Session', array(
    'defaults'      => 'php',
    'cookie'        => 'xyz',
    'timeout'       => 10,
    'checkAgent'    => false,
));

2 个答案:

答案 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验证用户是否为管理员。