我正在研究Symfony 2项目中的自定义ExceptionController。我想提供有关用户是否登录的不同信息。
Symfony docs说,在ExceptionControllers模板中无法使用is_granted(...)
:
此问题的原因是路由在安全性之前完成。如果发生404错误,则不加载安全层,因此
is_granted()
函数未定义。解决方案是在使用此功能之前添加以下检查:
{% if app.user and is_granted('...') %}
{# ... #}
{% endif %}
这个描述让我很困惑。即使404错误,这应该是一个解决方案吗?在404错误上,在呈现错误之前没有安全性。因此,从来没有任何关于用户是否登录的信息。如何使用app.user
更改此内容?
我认为这只是其他错误的解决方案,如500等,其中安全信息可用。但是,我想检查一下我是否错了:
可以在404页面上使用用户信息吗?