我正在使用Symfony 2.7并尝试通过关闭浏览器窗口并清除cookie来中断已中断的会话。现在,我想通过访问页面并输入旧的中断会话的会话ID来恢复此会话。
天真的方法不起作用:
class TestController extends Controller {
public function resumeSessionAction(Request $request) {
$request->getSession()->setId('known old id');
$this->redirectToRoute(...); //display route with the data from the old session
}
}
导致LogicException
无法更改活动会话的ID
如果您在另一个会话中工作,通常是否可以切换会话?
感谢您的帮助!
答案 0 :(得分:1)
当用户在关闭浏览器后返回网站时,会话很可能不再存在。
然而,你可以实现一个"记住我"保持用户登录的功能,即使他关闭浏览器并返回。
请参阅文档中的相关章节,了解如何实现此目的:How to Add "Remember Me" Login Functionality。
答案 1 :(得分:0)