Come ottenere i dettagli dell'utente amministratore corrente nel back-end?
Come ottenere i dettagli dell'utente amministratore corrente nel back-end?
Risposte:
devi aggiungerlo al costruttore della tua classe
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Quindi creare questo metodo
public function getCurrentUser()
{
return $this->authSession->getUser();
}
questo ti darà l'amministratore attualmente connesso.
Successivamente puoi ottenere i dettagli come $user->getUsername()
o $user->getEmail()
.
Come ottenere i dettagli attuali dell'utente amministratore?
iniettare sessione back-end nel controller
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
e utilizzalo per ottenere il nome utente o l'e-mail
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
Il tuo controller si estende già, \Magento\Backend\App\Action
quindi ha già l'oggetto di autorizzazione. Non sono necessarie iniezioni aggiuntive. Per ottenere l'utente è sufficiente utilizzare questa funzione:
/** @var \Magento\User\Model\User $user*/
$user = $this->_auth->getUser();
Altre risposte suggeriscono iniezioni duplicate, che non sono necessarie.
bin/magento setup:di:compile
, altrimenti sembrerebbe l' errore " Sessione nessuno specificato ".