2016-01-05 87 views
0

我使用自己的操作來處理樹枝中的異常。未在樹枝中定義的Symfony2用戶異常控制器

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

問題是,我實際上對我的應用程序進行了身份驗證,但在此特殊控制器中令牌爲空。

有人有任何想法解決這個問題,因爲我使用樹枝模板中的用戶對象。

+0

您認真地不要指望任何人在提供這個小細節後幫助您。至少給我們所涉及的代碼,和/或您收到的任何錯誤的想法。 – crafter

回答

-1

docs

一個設計自定義錯誤頁時常見的錯誤是使用is_granted()函數中的錯誤模板(或由錯誤模板繼承任何父模板)。如果你這樣做,你會看到Symfony拋出的異常。

此問題的原因是路由在安全之前完成。如果發生404錯誤,則安全層未加載,因此is_granted()函數未定義。解決方法是在使用此功能之前添加以下檢查:

{% if app.user and is_granted('...') %} 
    {# ... #} 
{% endif %}