Làm thế nào để có được chi tiết người dùng quản trị viên hiện tại trong back-end?
Làm thế nào để có được chi tiết người dùng quản trị viên hiện tại trong back-end?
Câu trả lời:
bạn cần thêm cái này vào hàm tạo của lớp
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
Sau đó tạo phương thức này
public function getCurrentUser()
{
return $this->authSession->getUser();
}
điều này sẽ cung cấp cho bạn quản trị viên đăng nhập hiện tại.
Bạn sau này có thể nhận được các chi tiết như $user->getUsername()
hoặc $user->getEmail()
.
Làm thế nào để có được chi tiết người dùng quản trị hiện tại?
tiêm phiên phụ trợ trong bộ điều khiển của bạn
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
và sử dụng điều này để có được tên người dùng hoặc email
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
Bộ điều khiển của bạn đã mở rộng \Magento\Backend\App\Action
để nó đã có đối tượng ủy quyền. Không cần tiêm thêm. Để có được người dùng chỉ cần sử dụng chức năng này:
/** @var \Magento\User\Model\User $user*/
$user = $this->_auth->getUser();
Các câu trả lời khác đang đề xuất tiêm trùng lặp, không cần thiết.
bin/magento setup:di:compile
, nếu không, nó sẽ xuất hiện lỗi " Phiên không được đưa ra ".