我正在使用Symfony安全设置.一切正常,但我不知道如何做一件重要的事情:
在twig中,我可以通过以下方式获取当前用户的信息:
Welcome, {{ app.user.username }}
Run Code Online (Sandbox Code Playgroud)
或类似的
如何在Controller中访问相同的信息?具体来说,我想获取当前用户实体,以便我可以将其关联存储在另一个实体中(一对一映射).
我真的希望它会
$this->get('security.context')->getToken()->getUser()
Run Code Online (Sandbox Code Playgroud)
但这不起作用.它给了我一类的类型
Symfony\Component\Security\Core\User\User
Run Code Online (Sandbox Code Playgroud)
我想要一个类型
Acme\AuctionBundle\Entity\User
Run Code Online (Sandbox Code Playgroud)
这是我的实体....
在Symfony 2.8/3.0中,使用我们精美的新安全组件,如何在不注入整个容器的情况下获取服务中当前记录的User(即FOSUser)对象?
它甚至可能以非黑客的方式存在吗?
PS:让我们不要将" 将其作为参数传递给服务函数 ",因为这很简单.还有,很脏.