成功登錄後可以設置會話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. 爲什麼登錄令牌響應cookie設置爲會話
- 3. symfony 2.8 - 會話失敗後成功登錄重定向(有2個會話ID在cookie中)
- 4. 在哪裏存儲登錄嘗試和當前登錄狀態,Cookie或會話?
- 5. rails,devise在登錄之前設置cookie
- 6. 登錄登錄後,Alfresco設置會話變量
- 7. 當用戶登錄時將會話變量設置爲user_id
- 8. 登錄後不能設置Cookie
- 9. 如何在CodeIgniter中設置登錄會話記錄2周?
- 10. 使用自定義DynamoDB會話處理程序登錄後Symfony會話爲空
- 11. 當session.auto_start設置爲true時,會話cookie不會被髮送
- 12. 當前目錄設置Cookie及其子目錄中唯一
- 13. 登錄後ASP .NET會話重置嗎?
- 14. 未設置Rails會話Cookie
- 15. 爲經典ASP會話Cookie設置HTTPONLY
- 16. HTTPOnly將cookie過期設置爲會話
- 17. 使用Cookie與會話進行登錄
- 18. 用戶登錄會話與Cookie
- 19. curl登錄,兩次傳遞會話cookie
- 20. 登錄後會話TImeout?
- 21. 當會話cookie在Django中過期時重定向到登錄
- 22. Symfony的2獲取當前會話時間
- 23. Symfony重定向到會話過期後的登錄頁面
- 24. Symfony 3 - 登錄後如何保持會話ID?
- 25. Spring用戶登錄和會話劫持後的安全cookie
- 26. ServiceStack在登錄請求表單後不保存會話cookie
- 27. 如何將會話cookie的HttpOnly設置設置爲false?
- 28. 如何爲會話和登錄系統設置pyramid_beaker?
- 29. Symfony的2 - 登錄程序
- 30. 如何在django中設置登錄cookie?
是否有必要成爲一個cookie,還是足以將其存儲在會話中? – 2013-05-01 22:51:45
它必須是一個餅乾! – vinnylinux 2013-05-06 18:44:03
ping!你有一個答案:) – 2013-05-08 08:11:30