Pregunta

¿Cómo obtener el detalle actual del usuario de administrador en back-end?

¿Fue útil?

Solución

Necesitas agregar esto al constructor de tu clase

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

Luego crea este método

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

Esto le dará el administrador de sesión actualizado. Más tarde, puede obtener los detalles como $user->getUsername() o $user->getEmail().

Otros consejos

¿Cómo obtener detalles actuales de usuario de administrador?

Injectar sesión de backend en su controlador

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

}

y use esto para obtener el nombre de usuario o el correo electrónico

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

Su controlador ya extiende \Magento\Backend\App\Action, por lo que ya tiene el objeto de autorización.No se necesitan inyecciones adicionales. Para obtener el usuario, simplemente use esta función:

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

Otras respuestas están sugiriendo inyecciones duplicadas, que no son necesarias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top