Ответы:
вам нужно добавить это в конструктор вашего класса
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();
Другие ответы предлагают повторные инъекции, которые не нужны.
bin/magento setup:di:compile
, иначе может появиться ошибка « Session none учитывая ».