【发布时间】:2016-12-07 02:14:36
【问题描述】:
我想为我的登录表单设置一个“记住我”cookie,并让它工作,直到我重新打开浏览器。我正在使用 Zend Framework 2 来完成它。
我设置了一个带有复选框的表单,并在验证表单后将它放在我的控制器中:
$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 被删除了。删除 cookie 的 Firefox 设置也被检查,因此它们不会被自动删除。有没有人有成功的解决方案或提示?
编辑:当我获取newtake的代码并将$sessionManager->rememberMe();添加到其中时,关闭浏览器后会话仍然存在,但即使登录过程成功完成,我也无法再登录。有人听说过这种好奇心吗?
【问题讨论】:
标签: php zend-framework2 session-cookies