ম্যাজেন্টো 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.