【发布时间】:2013-09-17 04:56:30
【问题描述】:
我从this post 那里得到了完全正确的答案,但是令牌属性为空,并且用户已正确登录并且路由位于防火墙后面。另外,我在其他服务中注入了 SecurityContext 并且它工作正常。
services.xml:
<service id="tc.extensions.relation_helper"
class="TC\CoreBundle\Extensions\RelationHelperExtension">
<argument type="service" id="security.context" />
<tag name="twig.extension" />
</service>
我的扩展:
class RelationHelperExtension extends Twig_Extension
{
/**
* @var User
*/
private $user;
public function __construct(SecurityContext $securityContext){
$this->user = $securityContext->getToken()->getUser();
}
【问题讨论】:
-
您是否尝试过将安全上下文设置为一个字段并在
getUser()方法中使用它来获取当前用户,而不是在构造函数中这样做? -
你明白了!谢谢!
-
感谢@ElnurAbdurrakhimov 它有帮助!我猜,当安全上下文被传递时,用户还没有被实例化
标签: symfony twig security-context