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