Відповіді:
вам потрібно додати це до конструктора вашого класу
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
, інакше виявиться помилка " Сеанс жоден не дано ".