马琴托2:如何获取当前管理员用户详细信息?
-
29-09-2020 - |
题
如何在后端获取当前管理员用户详细信息?
解决方案
您需要将其添加到类的构造函数中
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();
其他答案是建议重复注射,这是不需要的。