我使用自己的动作来处理树枝中的异常。
# Twig Configuration
twig:
exception_controller: MyBundle:Default:showException
问题是,我实际上已经对我的应用程序进行了身份验证,但在这个特殊的Controller中,令牌为空。
有人有任何想法解决这个问题,因为我在树枝模板中使用了用户对象。
答案 0 :(得分:-1)
来自docs:
设计自定义错误页面时常见的一个缺陷是在错误模板中(或错误模板继承的任何父模板中)使用is_granted()函数。如果你这样做,你会看到Symfony抛出的异常。
此问题的原因是路由在安全性之前完成。如果发生404错误,则不加载安全层,因此未定义is_granted()函数。解决方案是在使用此功能之前添加以下检查:
{% if app.user and is_granted('...') %}
{# ... #}
{% endif %}