2016-01-05 2 views
0

Я использую свое собственное действие для обработки исключений в ветке.Symfony2 Пользователь не определен в Twig Exception Controller

# Twig Configuration 
twig: 
    exception_controller: MyBundle:Default:showException 

Проблема в том, что я фактически аутентифицирован для своего приложения, но в этом специальном контроллере токен равен нулю.

У кого-то есть идея решить эту проблему, потому что я использую объект пользователя в шаблоне ветви.

+0

0 Вы серьезно не ожидаете, что кто-нибудь поможет вам после предоставления этой мелочи. По крайней мере, дайте нам код, который задействован, и/или идею о любых полученных вами ошибках. – crafter

ответ

-1

Из docs:

Одна из распространенных ошибок при проектировании пользовательских страниц ошибок заключается в использовании функции is_granted() в шаблоне ошибки (или в каком-либо родительском шаблоне, унаследованном шаблон ошибки). Если вы это сделаете, вы увидите исключение, отправленное Symfony.

Причина этой проблемы в том, что маршрутизация выполняется до обеспечения безопасности. Если возникает ошибка 404, уровень безопасности не загружается и, следовательно, функция is_granted() не определена. Решение состоит в том, чтобы добавить следующую проверку перед использованием этой функции:

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

 Смежные вопросы

  • Нет связанных вопросов^_^