¿Cómo obtener los detalles del usuario administrador actual en el back-end?
¿Cómo obtener los detalles del usuario administrador actual en el back-end?
Respuestas:
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 con sesión iniciada actual.
Más tarde puede obtener los detalles como $user->getUsername()
o $user->getEmail()
.
¿Cómo obtener los detalles del usuario administrador actual?
inyectar sesión de fondo 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 correo electrónico
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
Su controlador ya se 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 sugieren inyecciones duplicadas, que no son necesarias.
bin/magento setup:di:compile
, de lo contrario, aparecerá el error " Sesión no dada ".