Magento 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()
.
Другие советы
Как получить текущий пользователь администратора пользователя?
Инъекционная сессия Backend в вашем контроллере
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();
.
Другие ответы предполагают дублирующие инъекции, которые не нужны.