2015-06-17 3 views
0

Как установить cookie в прослушиватель, не прерывая другие вещи и перенаправляя?Symfony настройка cookie в прослушивателе

Я пытаюсь установить его на InteractiveLoginEvent. Я попытался установить его так:

$response = new Response(); 
$response->headers->setCookie(new Cookie('foo', 'bar')); 
$response->send(); 

Cookie устанавливается таким образом, но после того, что я получаю пустую страницу, и это не перенаправляется на целевую страницу после авторизации. как я могу это решить?

ответ

1

Попробуйте использовать RedirectResponse:

$response = new RedirectResponse('url_to_redirect_to'); 
$response->headers->setCookie(new Cookie('foo', 'bar')); 
$response->send(); 

Он будет устанавливать куки и перенаправления URL-адрес указывается. Также подумайте о том, чтобы ввести в ваш слушатель Router, чтобы создать правильный URL-адрес.

1

Что делать, если вы просто используете метод PHP setcookie() вместо генерации перенаправления?

Если у вас есть перенаправления, страница может вызывать бесконечные ошибки переадресации (в зависимости от того, что вы делаете), поэтому, если вы просто используете этот метод, тогда вы в порядке, и ваш файл cookie будет установлен правильно.

0

Я использую setcookie(), когда мне нужно иметь дело с переменными POST, которые, как представляется, невозможны с RedirectResponse.

Смежные вопросы