2012-02-28 4 views
3

私はcakephp 2.0を使ってウェブサイトを開発しています。サイトには2種類のユーザーしか含まれません。管理者とユーザー(顧客)。セッション時間を顧客に10分、管理者に1時間に設定する必要があります。出来ますか ?。 core.phpファイルに次のような行が含まれています。CAKEPHP 2.0の管理者とユーザーのセッションタイムアウトが異なります。出来ますか?

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

答えて

3

あなたのcore.phpのこの大きさを変更することよりも、あなたがAppControllerでこの条件を行い、より正確です。

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

そして、あなたは、ACLを使用している場合、ユーザーは代わりにstrripos自分のACLをメソッドを使用して管理者であるかどうかを確認:あなたはこれだけを行うことができます。

+0

はい私はこの方法をまず試しました。しかし、私はアプリケーションコントローラ – AnNaMaLaI

+0

@ Cakephp.Saintからセッションのタイムアウトを無効にすることはできません[このコード](http://pastebin.com/UngCkQCj)をチェックし、AppControllerの 'beforeFilter()'メソッドで試してみてください。値が変更されたことがわかります。 –

+0

はい、私はbeforeFilterで同じで使用されています..それは動作しません:( – AnNaMaLaI

3

core.phpファイルに次の行を追加しました。 :: {
     設定は、()strripos($ _、SERVER [ 'REDIRECT_URL']、 "管理者/")であればクイックフィックス

ための書き込み( 'セッション'、配列(
      'デフォルト' => 'PHP'、
      'クッキー' => 'XYZ'、
      'タイムアウト' => 60、
      'checkAgent' => false、
));他
}

{
     構成::書き込み( 'セッション'、アレイ(
          'デフォルト' => 'PHP'、
        'クッキー' => 'xyz'、
        'timeout' => 10,
      'checkAgent' => false、
     ));
}