Question

Comment obtenir les détails de l'utilisateur administrateur actuel dans le back-end ?

Était-ce utile?

La solution

vous devez l'ajouter au constructeur de votre classe

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

Créez ensuite cette méthode

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

cela vous donnera l'administrateur actuellement connecté.
Vous pourrez plus tard obtenir les détails comme $user->getUsername() ou $user->getEmail().

Autres conseils

Comment obtenir le détail de l'utilisateur de l'administrateur actuel?

Injectez la session Backend dans votre contrôleur

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

}

et utilisez-le pour obtenir le nom d'utilisateur ou le courrier électronique

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

Votre contrôleur s'étend déjà \Magento\Backend\App\Action il a donc déjà l'objet d'autorisation.Aucune injection supplémentaire n’est nécessaire.Pour obtenir l'utilisateur, utilisez simplement cette fonction :

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

D'autres réponses suggèrent des injections en double, qui ne sont pas nécessaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top