2013-06-26 52 views
1
我目前使用這裏 http://zf2.readthedocs.org/en/latest/modules/zend.session.manager.html

SessionManager超時/註銷

發現在我的自動加載/ global.php文件示例中,我有以下

'session'   => array(
    'config'  => array(
     'class' => 'Zend\Session\Config\SessionConfig', 
     'options' => array(
      'name'    => 'otwebsoft', 
      'save_path'   => __DIR__ . '/../../data/session', 
      'use_cookies'   => true, 
      'cookie_lifetime'  => 3600, 
      'cookie_httponly'  => true, 
      'cookie_secure'  => false, 
      'remember_me_seconds' => 1800 
     ) 
    ), 
    'storage' => 'Zend\Session\Storage\SessionArrayStorage', 
    'validators' => array(
     array(
      'Zend\Session\Validator\RemoteAddr', 
      'Zend\Session\Validator\HttpUserAgent' 
     ) 
    ) 
) 

我怎麼樣的話X期滿後時間和用戶是否已登錄,刷新頁面後,用戶將自動註銷,並且必須重新登錄。但是,我希望這樣,如果用戶繼續瀏覽網站,經過X次的時間後,會話不會中斷,但可能只是重新生成或不需要重新登錄。

我只是不確定如何或如果這是可能做到這兩種情況。如果這是不可能的,我可以提高會議生命週期的X時間並與之一起生活。

有沒有人有任何想法,我可以嘗試?

回答

2

設置cookie的壽命爲0:

'cookie_lifetime'  => 0 

它會告訴瀏覽器殺死在瀏覽器關閉後,才餅乾。

,並定義服務器會話存儲壽命:

'gc_maxlifetime' => 3600 

所以1小時後閒置會話存儲將被清理的。