【问题标题】:Globally access to the user object in templates全局访问模板中的用户对象
【发布时间】:2012-02-22 18:38:11
【问题描述】:

目前我看到了一个Twig方法来知道用户权限

{% if is_granted('ROLE_USER') %}

但没有在每个控制器操作中传递对象的情况下获取经过身份验证的用户信息。

在寻找如何将全局变量传递给我的布局之前,我想知道是否有任何“标准”方式来访问我的安全提供者用户对象(至少是用户名和实体用户的数据库信息)我的布局或防火墙覆盖的任何模板中。

【问题讨论】:

  • 我看到我们可以从安全令牌{{ app.security.token.username }} 中获取用户名,但没有关于实体提供者对象的信息...

标签: php templates symfony twig


【解决方案1】:

试试{{ app.user }}

app 模板变量可让您访问许多您期望的全局变量,例如 requestsessionsecurity 等。查看source code 了解更多信息。

您应该注意的一件事是,虽然 GlobalVariables 类为所有变量提供了 getter,但 Twig 足够聪明,知道如何处理短格式,因此 {{ app.user }} 等同于 @987654329 @

【讨论】:

  • 这正是我想要的,非常感谢您对 app 模板变量、GlobalVariables 和 Twig 的额外解释。
猜你喜欢
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 2016-05-09
  • 2017-02-24
  • 1970-01-01
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多