如何在后端获取当前管理员用户详细信息?

有帮助吗?

解决方案

您需要将其添加到类的构造函数中

protected $authSession;
public function __construct(
    ....
    \Magento\Backend\Model\Auth\Session $authSession, 
    ....
) {
    ....
    $this->authSession = $authSession;
    ....
}

然后创建这个方法

public function getCurrentUser()
{
    return $this->authSession->getUser();
}

这将为您提供当前登录的管理员。
您可以稍后获得以下详细信息 $user->getUsername()$user->getEmail().

其他提示

如何获取当前管理员用户详细信息?

在控制器中注入后端会话

public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession, 
  ....
 ) {
  ....
   $this->authSession = $authSession;
   ....
.

}

并使用它来获取用户名或电子邮件

 $this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
.

您的控制器已经扩展 \Magento\Backend\App\Action 所以它已经有了授权对象。不需要额外的注射。要获得用户只需使用此功能:

    /** @var \Magento\User\Model\User $user*/
    $user = $this->_auth->getUser();

其他答案是建议重复注射,这是不需要的。

许可以下: CC-BY-SA归因
scroll top