2016-06-21 10 views
0

私はSymfony2を使用しており、サイドバーで最新の未読メッセージを取得したいと考えています。だから私は、ここでのドキュメントのように埋め込まれたコントローラを使用:フィルタ前のSymfony組み込みコントローラー

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

は、すべての罰金と作業のthats。問題は今私はすべてのコントローラでセッションといくつかの権利をチェックするために、前のフィルタを使用しているということです。このイベントリスナーでは、セッションが有効でない場合、ログインページへのリダイレクトを行います。

エンベデッドコントローラでリダイレクトが不可能であることがわかりました。なぜ、エラーが発生するのですか。だから私の質問をどのようにこれを処理する知っている。前のフィルタからいくつかの関数を除外する方法はありますか?

または埋め込みコンテンツとして使用するすべての機能に対して新しいコントローラを作成する必要がありますか?

あなたは要求が docで説明したように、マスターであり、それがない場合は、ちょうど RedirectResponseを返さないかどうかを確認することができるはずです、あなたのリスナーに
+0

はフィルタの前に」を適用してみてください"マスターリクエストでのみ – pooler

答えて

0

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

    // Your other code here 
} 
関連する問題