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