Pergunta

Como obter os detalhes do usuário administrador atual no back-end?

Foi útil?

Solução

você precisa adicionar isso ao construtor da sua classe

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

Então crie este método

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

isso lhe dará o administrador atualmente conectado.
Mais tarde, você pode obter detalhes como $user->getUsername() ou $user->getEmail().

Outras dicas

Como obter detalhes do usuário administrador atual?

injetar sessão de back-end em seu controlador

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

}

e use isso para obter o nome de usuário ou e-mail

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

Seu controlador já estende \Magento\Backend\App\Action então já possui o objeto de autorização.Não são necessárias injeções adicionais.Para obter o usuário basta usar esta função:

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

Outras respostas sugerem injeções duplicadas, que não são necessárias.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top