我解决了在重定向之前使会话无效的问题。
在RegistrationController(我已经在我的包中复制并修改)中,方法confirmAction,我改变了:
if (null === $response = $event->getResponse()) {
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
至:
if (null === $response = $event->getResponse()) {
$session = $request->getSession();
$session->invalidate();
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
这为我完成了工作。
Symfony 建议不要使用标准的 PHP 会话方法,例如 session_start() 和 session_destroy()。