如何访问模板中的登录用户?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

我正在使用FOSuserbundle开始用户注册https://github.com/FriendsOfSymfony/FOSUserBundle

我已经登记/登录了。我现在要做的是抓取登录的用户数据,并将其显示在我网站的每一页上。比如标题类型中的“Hi用户名”。

因此,我编写了我的控制器来访问用户配置文件数据。如何在嵌入式控制器中访问FOS方法。Acme/UserBundle/Controller/UserController.php如下:

public function showAction()
{
    $user = $this->container->get('security.context')->getToken()->getUser();
    if (!is_object($user) || !$user instanceof UserInterface) {
        throw new AccessDeniedException(
               'This user does not have access to this section.');
    }

    return $this->container->get('templating')
      ->renderResponse('FOSUserBundle:Profile:show.html.'.$this->container
      ->getParameter('fos_user.template.engine'), array('user' => $user));
}

...

提问于
用户回答回答于

{% if is_granted("ROLE") %}
    Hi {{ app.user.username }}
{% endif %}
用户回答回答于

对于Symfony 2.6及以上版本,我们可以使用

{{ app.user.getFirstname() }}

扫码关注云+社区