Fra*_*nk6 4 security-context symfony twig
我完成了这篇文章的答案,但令牌属性为null,用户正确登录,路由在防火墙后面.此外,我正在其他服务中注入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>
Run Code Online (Sandbox Code Playgroud)
我的扩展名:
class RelationHelperExtension extends Twig_Extension
{
/**
* @var User
*/
private $user;
public function __construct(SecurityContext $securityContext){
$this->user = $securityContext->getToken()->getUser();
}
Run Code Online (Sandbox Code Playgroud)
正如@Elnur_Abdurrakhimov所说,我们必须首先缓存securityContext,并getToken()->getUser()在需要时调用.
class RelationHelperExtension extends Twig_Extension
{
private $context;
public function __construct(SecurityContext $securityContext){
$this->context= $securityContext;
}
private function getUser(){
return $this->context->getToken()->getUser();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2947 次 |
| 最近记录: |