Bagaimana cara mendapatkan detail pengguna admin saat ini di back-end?
Bagaimana cara mendapatkan detail pengguna admin saat ini di back-end?
Jawaban:
Anda perlu menambahkan ini ke konstruktor kelas Anda
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Kemudian buat metode ini
public function getCurrentUser()
{
return $this->authSession->getUser();
}
ini akan memberi Anda admin login saat ini.
Anda nanti bisa mendapatkan detail seperti $user->getUsername()
atau $user->getEmail()
.
Bagaimana cara mendapatkan detail pengguna admin saat ini?
menyuntikkan sesi backend di controller Anda
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
dan gunakan ini untuk mendapatkan nama pengguna atau email
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
Pengontrol Anda sudah diperluas \Magento\Backend\App\Action
sehingga sudah memiliki objek otorisasi. Tidak diperlukan suntikan tambahan. Untuk mendapatkan pengguna cukup gunakan fungsi ini:
/** @var \Magento\User\Model\User $user*/
$user = $this->_auth->getUser();
Jawaban lain menyarankan suntikan duplikat, yang tidak diperlukan.
bin/magento setup:di:compile
, jika tidak maka akan muncul kesalahan " Sesi tidak diberikan ".