成功登錄後可以設置會話cookie嗎?一個事件監聽器?如果是這樣,哪個事件?以及我如何訪問響應對象以將Cookie附加到它?Symfony 2:登錄後爲當前會話設置一個cookie
回答
您可以創建一個偵聽kernel.response Event並修改響應的EventListener。
namespace Acme\DemoBundle\EventListener
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpFoundation\Cookie;
class AddMyCookie
{
public function onKernelResponse(FilterResponseEvent $event)
{
$response = $event->getResponse();
if (/** whatever **/) {
$response->headers->setCookie(new Cookie('cookie_name', 'cookie_value'));
}
}
}
在services.yml
:
parameters:
acme_demo.add_my_cookie.class: Acme\DemoBundle\EventListener\AddMyCookie
services:
acme_demo.add_my_cookie.kernel_response_listener:
class: %acme_demo.add_my_cookie.class%
tags:
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
無論你需要決定設置Cookie(security_context,的UserManager,會話等)可以注入槽的DI容器。
什麼是'/ **什麼** /'?你可以添加一個例子嗎? – 2015-06-23 09:06:45
無論你做什麼決定添加cookie,都應該進入if。 – 2015-06-23 19:13:56
就像檢查憑證一樣?我想你應該添加一個小例子。 – 2015-06-23 19:15:52
- 1. 登錄會話cookie存儲在Symfony中?
- 2. Symfony 2:如何在登錄時設置會話生存期?
- 3. 爲什麼登錄令牌響應cookie設置爲會話
- 4. symfony 2.8 - 會話失敗後成功登錄重定向(有2個會話ID在cookie中)
- 5. 登錄後設置會話屬性
- 6. PHP登錄會話和cookie
- 7. 在哪裏存儲登錄嘗試和當前登錄狀態,Cookie或會話?
- 8. rails,devise在登錄之前設置cookie
- 9. 登錄登錄後,Alfresco設置會話變量
- 10. 銷燬前一個會話後設置會話變量
- 11. Cookie不會設置讓我登錄。PHP
- 12. 登錄後不能設置Cookie
- 13. 當用戶登錄時將會話變量設置爲user_id
- 14. PHP - 爲多個登錄設置會話目錄?
- 15. 如何在CodeIgniter中設置登錄會話記錄2周?
- 16. 在Symfony 2登錄後重定向2
- 17. 在註銷之前和管理員登錄後設置cookie
- 18. 使用自定義DynamoDB會話處理程序登錄後Symfony會話爲空
- 19. 當session.auto_start設置爲true時,會話cookie不會被髮送
- 20. 將is_secure設置爲false後需要在後臺登錄[Symfony]
- 21. 會話cookie在設置後會在下一頁上過期嗎?
- 22. 當前目錄設置Cookie及其子目錄中唯一
- 23. 未設置Rails會話Cookie
- 24. 在會話中設置Cookie
- 25. SoapUI設置Cookie會話
- 26. 登錄後ASP .NET會話重置嗎?
- 27. HTTPOnly將cookie過期設置爲會話
- 28. 爲經典ASP會話Cookie設置HTTPONLY
- 29. 在Joomla中設置會話登錄
- 30. 兩個步驟設置會話作爲登錄
是否有必要成爲一個cookie,還是足以將其存儲在會話中? – 2013-05-01 22:51:45
它必須是一個餅乾! – vinnylinux 2013-05-06 18:44:03
ping!你有一個答案:) – 2013-05-08 08:11:30