2016-06-21 85 views
0

我正在使用Symfony2並希望檢索我的邊欄中最新的未讀消息。所以我用的嵌入式控制器,如下文檔中:Symfony嵌入式控制器與之前的過濾器

https://symfony.com/doc/current/book/templating.html#embedding-controllers

多數民衆贊成罰款和工作。現在的問題是,我還在每個控制器中使用before過濾器來檢查會話和一些權限。在這個eventlistener中,如果會話無效,我會重定向到登錄頁面。

我知道重定向在嵌入式控制器中是不可能的,這就是爲什麼我得到一個錯誤。所以知道我的問題如何處理這個問題。有沒有辦法從前過濾器中排除一些功能?

或者我必須爲我想用作嵌入式內容的所有功能製作新的控制器嗎?

+0

嘗試過濾器之前應用」 「只有在主請求 – pooler

回答

0

在你的聽衆,你應該能夠檢查的要求是主站,在doc描述的,如果不是,只是不返回RedirectResponse

public function onKernelRequest(GetResponseEvent $event) 
{ 
    if (!$event->isMasterRequest()) { 
     return; 
    } 

    // Your other code here 
}