2011-08-07 5 views
4

私の問題は次のとおりです。プロジェクトは2言語(en & fr)で翻訳されています。 security.ymlファイルでは、私は(ログインフォームを持つ)ファイアウォールを設定してきたが、ログアウト後、特にターゲットパス:ログアウト後に別のターゲットパスを使用する方法は?

logout: 
    path: /user/logout 
    target:/

しかし、私は、ユーザーの文化に応じて、ターゲットパスを選択することはできません。.. 。

サインインが、実際に私は私のログインフォームで直接ターゲットパスを選択したとき、私はこの問題を持っていない:

<input type="hidden" name="_target_path" value="/{{ app.session.locale }}/" /> 

だから私は/ FR /上ログアウト後にリダイレクトする方法がわかりませんあなたがフランス人なら、そうでなければ/ en/...あなたには解決策がありますか?

答えて

2

カスタムログアウトハンドラを追加できます。successHandlerプロパティはSymfony\Component\Security\Http\Firewall\LogoutListenerです。 DICを使用すると簡単に無効にすることができます。

+0

初心者にはこの答えを詳しく説明するのが非常に便利です。これは重要な問題の解決策です。別の使用例は、ターゲットページ(モバイルとデスクトップ)のバージョンが異なる場合です。前もって感謝します –

関連する問題