উত্তর:
আপনার এটি আপনার ক্লাসের কনস্ট্রাক্টরের সাথে যুক্ত করতে হবে
protected $authSession;
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
তারপরে এই পদ্ধতিটি তৈরি করুন
public function getCurrentUser()
{
return $this->authSession->getUser();
}
এটি আপনাকে বর্তমান লগ ইন করা প্রশাসক দেবে।
আপনি পরে $user->getUsername()
বা এর মতো বিশদ পেতে পারেন $user->getEmail()
।
বর্তমান প্রশাসক ব্যবহারকারীর বিশদ কীভাবে পাবেন?
আপনার নিয়ামক মধ্যে ব্যাকএন্ড সেশন ইনজেকশন
public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession,
....
) {
....
$this->authSession = $authSession;
....
}
এবং ব্যবহারকারীর নাম বা ইমেল পেতে এটি ব্যবহার করুন
$this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();
আপনার কন্ট্রোলার ইতিমধ্যে প্রসারিত হয়েছে \Magento\Backend\App\Action
যাতে এর মধ্যে ইতিমধ্যে অনুমোদনের বিষয়টি রয়েছে। কোনও অতিরিক্ত ইঞ্জেকশন প্রয়োজন হয় না। ব্যবহারকারীকে সহজেই এই ফাংশনটি ব্যবহার করতে:
/** @var \Magento\User\Model\User $user*/
$user = $this->_auth->getUser();
অন্যান্য উত্তরগুলি সদৃশ ইনজেকশনগুলির পরামর্শ দিচ্ছে, যা প্রয়োজন নেই।
bin/magento setup:di:compile
, অন্যথায় এটি " সেশন নয় কিছুই দেওয়া হবে " ত্রুটি হিসাবে উপস্থিত হবে ।