Como obter os detalhes do usuário administrador atual no back-end?
Como obter os detalhes do usuário administrador atual no back-end?
Respostas:
você precisa adicionar isso ao construtor da sua classe
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Em seguida, crie este método
public function getCurrentUser()
{
return $this->authSession->getUser();
}
isso lhe dará o atual administrador conectado.
Mais tarde, você pode obter os detalhes como $user->getUsername()
ou $user->getEmail()
.
Como obter detalhes do usuário administrador atual?
injetar sessão de back-end no seu controlador
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
e use isso para obter nome de usuário ou email
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
O seu Controller já se estende \Magento\Backend\App\Action
para que ele já tenha 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 estão sugerindo injeções duplicadas, que não são necessárias.
bin/magento setup:di:compile
, caso contrário, aparecerá o erro " Sessão não fornecida ".