在自定义Symfony ExceptionController中使用is_granted

时间:2016-03-16 11:15:05

标签: php symfony http-status-code-404

我正在研究Symfony 2项目中的自定义ExceptionController。我想提供有关用户是否登录的不同信息。

Symfony docs说,在ExceptionControllers模板中无法使用is_granted(...)

  

此问题的原因是路由在安全性之前完成。如果发生404错误,则不加载安全层,因此is_granted()函数未定义。解决方案是在使用此功能之前添加以下检查:

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

这个描述让我很困惑。即使404错误,这应该是一个解决方案吗?在404错误上,在呈现错误之前没有安全性。因此,从来没有任何关于用户是否登录的信息。如何使用app.user更改此内容?

我认为这只是其他错误的解决方案,如500等,其中安全信息可用。但是,我想检查一下我是否错了:

可以在404页面上使用用户信息吗?

0 个答案:

没有答案