ম্যাজেন্টো 2: বর্তমান প্রশাসক ব্যবহারকারীর বিশদ কীভাবে পাবেন?


উত্তর:


30

আপনার এটি আপনার ক্লাসের কনস্ট্রাক্টরের সাথে যুক্ত করতে হবে

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


1
বিজ্ঞপ্তি: কোডগুলি যুক্ত করার পরে, আমাদের চালানো দরকার bin/magento setup:di:compile, অন্যথায় এটি " সেশন নয় কিছুই দেওয়া হবে " ত্রুটি হিসাবে উপস্থিত হবে ।
— কী শ্যাং

ব্যাখ্যা সহ নির্ভুল উত্তর !!! +1 :)
— সাগরপঞ্চল

@ মারিয়াস আমি গ্রাহক ফর্ম ব্যাকএন্ড হিসাবে লগইন যুক্ত করেছি। তবে আমি পণ্যের ভিউ পৃষ্ঠায় অ্যাডমিনের বিশদটি চাই যা অ্যাডমিন গ্রাহকে লগইন করে।
— মাসুদ শায়খ

আপনি সামনের দিক থেকে প্রশাসক অধিবেশন অ্যাক্সেস করতে পারবেন না।
— মারিয়াস

7

বর্তমান প্রশাসক ব্যবহারকারীর বিশদ কীভাবে পাবেন?

আপনার নিয়ামক মধ্যে ব্যাকএন্ড সেশন ইনজেকশন

public function __construct(
....
\Magento\Backend\Model\Auth\Session $authSession, 
  ....
 ) {
  ....
   $this->authSession = $authSession;
   ....

}

এবং ব্যবহারকারীর নাম বা ইমেল পেতে এটি ব্যবহার করুন

 $this->authSession->getUser()->getUsername();
$this->authSession->getUser()->getEmail();

আপনার নিয়ামক ইনজেকশনের প্রয়োজন নেই যদিও।
— ম্যাজপাইকো

3

আপনার কন্ট্রোলার ইতিমধ্যে প্রসারিত হয়েছে \Magento\Backend\App\Actionযাতে এর মধ্যে ইতিমধ্যে অনুমোদনের বিষয়টি রয়েছে। কোনও অতিরিক্ত ইঞ্জেকশন প্রয়োজন হয় না। ব্যবহারকারীকে সহজেই এই ফাংশনটি ব্যবহার করতে:

    /** @var \Magento\User\Model\User $user*/
    $user = $this->_auth->getUser();

অন্যান্য উত্তরগুলি সদৃশ ইনজেকশনগুলির পরামর্শ দিচ্ছে, যা প্রয়োজন নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.