2012-02-22 2 views
2

я видел до сих пор метод Twig знать пользователю привилегиюГлобально доступ к объекту пользователя в шаблонах

{% if is_granted('ROLE_USER') %}

, но ничего о получении authentified информации пользователя, без передачи объекта в каждом контроллере действий ,

Прежде чем искать, как передать глобальную переменную в мой макет, я бы предпочел узнать, существует ли какой-либо «стандартный» способ доступа к объектам пользователя поставщика безопасности (по крайней мере, имя пользователя и информация о базе данных для пользователей сущностей) в моем макете или в любом шаблоне, охватываемом брандмауэром.

+0

I см., что мы можем получить имя пользователя из токена безопасности '{{app.security.token.username}}', но ничего о объекте поставщика сущности ... – rayfranco

ответ

9

Пробег: {{ app.user }}.

переменная шаблона app обеспечивает доступ к множеству глобальных переменных, которые можно было ожидать, как request, session, security и т.д. Отъезд source code для получения дополнительной информации.

Одна вещь, вы должны быть осведомлены о том, что в то время как GlobalVariables класс обеспечивает добытчиками для всех переменных, Twig достаточно умен, чтобы знать, как бороться с короткой форме, так что {{ app.user }} эквивалентно {{ app.getUser() }}

+0

Это именно то, что я искал, и большое спасибо за дополнительные пояснения о переменной шаблона ** app **, GlobalVariables и Twig. – rayfranco

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