Magento 2:Wie erhalte ich die aktuellen Administratorbenutzerdetails?
-
29-09-2020 - |
Frage
Wie erhalte ich die aktuellen Administratorbenutzerdetails im Backend?
Lösung
Sie müssen dies dem Konstruktor Ihrer Klasse hinzufügen
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Dann erstellen Sie diese Methode
public function getCurrentUser()
{
return $this->authSession->getUser();
}
Dadurch erhalten Sie den aktuell angemeldeten Administrator.
Sie können die Details später wie folgt abrufen $user->getUsername()
oder $user->getEmail()
.
Andere Tipps
Backend-Sitzung in Ihrem Controller
injizieren generasacodicetagpre.}
und verwenden Sie diese Option, um Benutzername oder E-Mail zu erhalten
generasacodicetagpre.Ihr Controller ist bereits ausgefahren \Magento\Backend\App\Action
Es verfügt also bereits über das Autorisierungsobjekt.Es sind keine zusätzlichen Injektionen erforderlich.Um den Benutzer zu erhalten, verwenden Sie einfach diese Funktion:
/** @var \Magento\User\Model\User $user*/
$user = $this->_auth->getUser();
Andere Antworten schlagen doppelte Injektionen vor, die nicht erforderlich sind.