gpt4 book ai didi

Symfony2 : SonataAdminBundle - How can i get the object representing the current user inside an admin class?

转载 作者:行者123 更新时间:2023-12-04 04:48:16 25 4
gpt4 key购买 nike

我使用奏鸣曲管理包。
我与 PageEntity 中的用户 (FOSUserBundle) 有关系。
我想保存创建或更改页面的当前用户。

我的猜测是在管理类的 postUpdate 和 postPersist 方法中获取用户对象,并且该对象在 setUser 方法中传输。

但是如何实现这一点呢?

我在google的群里看到的

    public function setSecurityContext($securityContext) {
$this->securityContext = $securityContext;
}

public function getSecurityContext() {
return $this->securityContext;
}

public function prePersist($article) {
$user = $this->getSecurityContext()->getToken()->getUser();

$appunto->setOperatore($user->getUsername());
}

但这不起作用

最佳答案

在 admin 类中,您可以像这样获取当前登录的用户:

$this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser()

根据反馈编辑

而你正在这样做吗?因为这应该有效。
 /**
* {@inheritdoc}
*/
public function prePersist($object)
{

$user = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
$object->setUser($user);
}

/**
* {@inheritdoc}
*/
public function preUpdate($object)
{
$user = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
$object->setUser($user);
}

关于Symfony2 : SonataAdminBundle - How can i get the object representing the current user inside an admin class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22069541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com