Magento 2: Làm thế nào để có được chi tiết người dùng quản trị viên hiện tại?


12

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:


29

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().


1
Lưu ý: Sau khi thêm mã, chúng tôi cần chạy bin/magento setup:di:compile, nếu không, nó sẽ xuất hiện lỗi " Phiên không được đưa ra ".
Khóa Shang

câu trả lời hoàn hảo với lời giải thích !!! +1 :)
SagarPPanchal

@Marius Tôi đã thêm đăng nhập dưới dạng phụ trợ khách hàng. Nhưng tôi muốn chi tiết quản trị viên trên trang xem sản phẩm mà quản trị viên đăng nhập cho khách hàng.
Masud Shaikh

bạn không thể truy cập phiên quản trị từ frontend.
Marius

7

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();

Không cần thiết phải tiêm trong bộ điều khiển của bạn mặc dù.
MagePologistso 19/05/2016

3

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.