Comment obtenir les détails de l'utilisateur administrateur actuel en back-end?
Comment obtenir les détails de l'utilisateur administrateur actuel en back-end?
Réponses:
vous devez l'ajouter au constructeur de votre classe
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Ensuite, créez cette méthode
public function getCurrentUser()
{
return $this->authSession->getUser();
}
cela vous donnera l'administrateur actuellement connecté.
Vous pourrez ensuite obtenir les détails comme $user->getUsername()
ou $user->getEmail()
.
Comment obtenir les détails de l'utilisateur administrateur actuel?
injecter une session backend dans votre contrôleur
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
et l'utiliser pour obtenir un nom d'utilisateur ou un e-mail
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
Votre contrôleur s'étend déjà de \Magento\Backend\App\Action
sorte qu'il possède 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.
bin/magento setup:di:compile
, sinon il semblerait que l' erreur " Session aucune donnée ".