0

小枝で例外を処理するために、独自のアクションを使用します。

# Twig Configuration
twig:
    exception_controller:  MyBundle:Default:showException

問題は、私が実際にアプリケーションに対して認証されていることですが、この特別なコントローラーではトークンが null です。

小枝テンプレートでユーザーオブジェクトを使用しているため、誰かがこの問題を解決するためのアイデアを持っていますか?

4

1 に答える 1

-1

ドキュメントから:

カスタム エラー ページを設計する際の一般的な落とし穴の 1 つは、エラー テンプレート (またはエラー テンプレートによって継承された任意の親テンプレート) で is_granted() 関数を使用することです。これを行うと、Symfony によってスローされる例外が表示されます。

この問題の原因は、セキュリティの前にルーティングが行われることです。404 エラーが発生した場合、セキュリティ層が読み込まれないため、is_granted() 関数は未定義です。解決策は、この関数を使用する前に次のチェックを追加することです。

{% if app.user and is_granted('...') %}
    {# ... #}
{% endif %}
于 2016-01-05T10:05:29.530 に答える