2013-09-25 59 views
0

即時通訊使用Symfony 2.3,我啓用了Symfony Reverse Proxy緩存。它有效,但不是我想要的,也不知道該怎麼做。當用戶在登錄後調用頁面時,如何讓Symfony忽略緩存?

因此,用戶來到網站,訪問一個頁面。登錄後,導航回到登錄前瀏覽過的頁面,但會在登錄前顯示他在登錄時顯示的頁面,而無需進行任何登錄更改。登錄時,我強制頁面不緩存,但當頁面已被反向代理緩存時似乎太晚了,緩存的頁面不管服務器。

在通過緩存提供頁面之前是否有某種方式可以確定請求是否來自某人登錄,因此緩存必須被忽略?

回答

1

請參閱this questionthis question,並確保您告訴反向代理不要通過向您的反向代理和用戶緩存的響應中添加正確的標頭來緩存這些路由。

$response->headers->addCacheControlDirective('no-cache', true); 
$response->headers->addCacheControlDirective('max-age', 0); 
$response->headers->addCacheControlDirective('must-revalidate', true); 
$response->headers->addCacheControlDirective('no-store', true); 
+0

我不想阻止頁面的緩存,基本上,當登錄用戶請求頁面我想繞過緩存,在app.PHP中,常規內核被轉換爲緩存內核,我需要以某種方式檢查常規內核以查看請求是否來自經過身份驗證的用戶,如果不是,則不要創建緩存內核。 – user148313

相關問題