2
我想爲我的登錄表單提供一個「記得我」的cookie,並讓它工作,直到我重新打開瀏覽器。我正在使用Zend Framework 2來完成它。ZF2 RememberMe在關閉瀏覽器後過期
我成立了一個形式與複選框,並驗證表單後,有這個在我的控制器:
$userSession = new Container("test");
$sessionManager = $userSession->getManager();
$sessionManager->rememberMe(1209600);
$sessionManager->start();
在module.config.php我對會話進行如下設置:
'session' => array(
'name' => 'Test_SESSION',
'save_path' => realpath('C:\xampp\htdocs\Workspace\test\data\session'),
'remember_me_seconds' => 1209600,
'cookie_lifetime' => 1209600,
'use_cookies' => true,
'cookie_httponly' => true,
),
最後在module.php:
$session = new SessionConfig();
$session->setOptions($this->serviceLocator->get("config")["session"]);
我搜索通過網絡對任何建議並嘗試了一些東西,但至少當我關閉瀏覽器時,Cookie被刪除。 Firefox的刪除cookies設置也被檢查,所以它們不會被自動刪除。有沒有人有成功的解決方案或提示?
編輯:當我拿起newtake的代碼,並添加$sessionManager->rememberMe();
它,關閉瀏覽器後,會話仍然活着,但我不能再登錄,即使登錄過程成功完成。任何人都聽到這種好奇心?
感謝您的迴應,但我怎麼能在控制器中使用這項服務? –
會話將開始,但在關閉瀏覽器後仍然被刪除:/ –
@HansMartin使用很簡單,只需要從Container創建一個對象。例子'$ session = new Container('container-name');' – newage