Symfony 在侦听器中设置 cookie
Symfony setting a cookie in a listener
如何在不中断其他事情和重定向的情况下在侦听器中设置 cookie?
我试图在 InteractiveLoginEvent 上设置它。我试着这样设置:
$response = new Response();
$response->headers->setCookie(new Cookie('foo', 'bar'));
$response->send();
Cookie 是这样设置的,但之后我得到空白页面,并且在登录后它没有重定向到登录页面。我该如何解决?
尝试使用 RedirectResponse:
$response = new RedirectResponse('url_to_redirect_to');
$response->headers->setCookie(new Cookie('foo', 'bar'));
$response->send();
它将设置一个 cookie 并重定向到您指定的 url。还可以考虑将 Router
注入您的侦听器以生成正确的 url.
如果您只使用 PHP 的方法 setcookie() 而不是生成重定向会怎样?
当您进行重定向时,页面可能会触发无穷无尽的重定向错误(取决于您的操作),因此如果您只使用此方法,那么您就可以了,并且您的 cookie 将被正确设置。
我用setcookie() when I need to deal with POST variables, which it seems to be not possible with RedirectResponse.
如何在不中断其他事情和重定向的情况下在侦听器中设置 cookie?
我试图在 InteractiveLoginEvent 上设置它。我试着这样设置:
$response = new Response();
$response->headers->setCookie(new Cookie('foo', 'bar'));
$response->send();
Cookie 是这样设置的,但之后我得到空白页面,并且在登录后它没有重定向到登录页面。我该如何解决?
尝试使用 RedirectResponse:
$response = new RedirectResponse('url_to_redirect_to');
$response->headers->setCookie(new Cookie('foo', 'bar'));
$response->send();
它将设置一个 cookie 并重定向到您指定的 url。还可以考虑将 Router
注入您的侦听器以生成正确的 url.
如果您只使用 PHP 的方法 setcookie() 而不是生成重定向会怎样?
当您进行重定向时,页面可能会触发无穷无尽的重定向错误(取决于您的操作),因此如果您只使用此方法,那么您就可以了,并且您的 cookie 将被正确设置。
我用setcookie() when I need to deal with POST variables, which it seems to be not possible with RedirectResponse.