ম্যাজেন্টো 2 ব্যাকএন্ড সেশনের সময়সীমা শেষ


53

ম্যাজেন্টো 1.x এ ব্যাকএন্ড সেশনের সময়সীমাটি এর মাধ্যমে সেট করা হয়েছিল:
Backend -> System -> Configuration -> Admin -> Security -> Session Lifetime (seconds)

প্রথমদিকে, আমার প্রশ্ন ছিল কীভাবে এটি ম্যাজেন্টো 2.0 তে সেট করা যায়, তবে স্পষ্টতই ম্যাজেন্টো 2.0 এবং ম্যাজেন্টো 2.1 এর মধ্যে পার্থক্য রয়েছে

ম্যাজেন্টো ২.০-এর জন্য: আরকাদেই চিঝভ কীভাবে এটি সেট করবেন (নীচে দেখুন) নির্দেশ করেছেন।

ম্যাজেন্টো ২.১-এর জন্য: fschmengler একটি সমাধান প্রস্তাব করেছে (নীচে দেখুন)।

তবে, এম 2.1 ব্যাকএন্ডের মাধ্যমে কোনও সরল সমাধান সরবরাহ করবে না বলে মনে হয়। এম ২.১ এর জন্য যে কেউ অতিরিক্ত সমাধান নিয়ে আসতে পারে?

উত্তর:


82

স্টোরস> সেটিংস> কনফিগারেশন> উন্নত> প্রশাসন> সুরক্ষা> অ্যাডমিন সেশন লাইফটাইম (সেকেন্ড)

এছাড়াও এই প্যারামিটারটি সরাসরি ডাটাবেসে সেট করার সম্ভাবনা রয়েছে, কেবল একটি মানকে পথে রাখুন

অ্যাডমিন / নিরাপত্তা / session_lifetime

টেবিলের কোর-কনফিগ_ডেটা

হালনাগাদ

ম্যাজেন্টো ২.১ অ্যাডমিন কুকি লাইফ টাইম = স্টোরস> সেটিংস> কনফিগারেশন> অ্যাডভান্সড> অ্যাডমিন> সিকিউরিটি> অ্যাডমিন সেশন লাইফটাইম (সেকেন্ড) বা ব্যবহারকারী ব্রাউজারটি বন্ধ না করা পর্যন্ত

যেহেতু ম্যাজেন্টো ২.১ অ্যাডমিন কুকির জন্য আজীবন পরিচয় করিয়ে দেয় হিসাবে "ব্রাউজার বন্ধে মেয়াদ শেষ হয়ে যায়", পাশাপাশি মান সহStores >Settings > Configuration > Advanced > Admin > Security > Admin Session Lifetime (seconds) । এর অর্থ, Stores > Settings > Configuration > Advanced > Admin > Security > Admin Session Lifetime (seconds)কোনও ব্রাউজারটি বন্ধ থাকলে সেই সেশনের জীবন সময়টির সমান মূল্য হয় ।

অথবা আপনি অ্যাডমিন কুকির জন্য একটি নতুন মান সেট আপ করতে পারেন, যেমন এটি fschmengler এর উত্তরে প্রস্তাবিত


আপনি কি আমাদের এম 2 ওয়েবসাইটে স্তরযুক্ত নেভিগেশনের কার্যকারিতা সামঞ্জস্য করতে আগ্রহী?
এলস ড্যান আইপ

নিবন্ধন করুন প্রোফাইলে আমার পরিচিতির তথ্য সন্ধান করুন
আরকাদেই চিযভভ

আপনি কি জানেন যে সেই মানটির জন্য ডাটাবেসে কলাম কী, তাই আমি এটি প্রোগ্রামগতভাবে পরিবর্তন করতে পারি?
জোজমান

আমি এটি 50400 হিসাবে সেট করেছি তবে এটি এখনও প্রায় 20 মিনিটের পরে লগ আউট করে ....
ওজজিআই

@ আরকাদিইচাইভভ নীচে আমার উত্তরটি দেখুন :)
ওজজিআইই

16

অ্যাডমিন প্রক্রিয়াটি আরও ভালভাবে বোঝার জন্য সংযুক্ত চিত্রের স্ক্রিনশটটি পরীক্ষা করুন।

স্টোরগুলিতে যান-> সেটিংস-> কনফিগারেশন-> উন্নত-> প্রশাসন-> সুরক্ষা-> অ্যাডমিন সেশন লাইফটাইম (সেকেন্ড)

এবং স্ক্রিনশট চেক করুন। এখানে চিত্র বর্ণনা লিখুন


10

Magento 2.1+ এর সমাধান

যেহেতু ম্যাজেন্টো ২.১ অ্যাডমিন সেশনের আজীবন সর্বদা "সেশন" থাকে, অর্থাৎ ব্রাউজারটি বন্ধ না হওয়া পর্যন্ত। এইহয়েছে সুরক্ষার কারণে প্রবর্তিত হতে পারে।

সম্পর্কিত কোডটি এতে রয়েছে Magento\Backend\Model\Session\AdminConfig:

/**
 * Set session cookie lifetime to session duration
 *
 * @return $this
 */
protected function configureCookieLifetime()
{
    return $this->setCookieLifetime(0);
}

আপনি যদি এই আচরণটি পরিবর্তন করতে চান তবে নীচের ইন্টারসেপ্টর পদ্ধতিতে আপনি এই শ্রেণীর জন্য একটি প্লাগইন যুক্ত করতে পারেন:

public function beforeSetCookieLifetime()
{
    $lifetime = $this->scopeConfig->getValue(
        \Magento\Framework\Session\Config::XML_PATH_COOKIE_LIFETIME,
        \Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
    return [$lifetime, \Magento\Framework\Session\Config::COOKIE_LIFETIME_DEFAULT];
}

কোথায় $this->scopeConfigএর একটি দৃষ্টান্ত হওয়া উচিত \Magento\Framework\App\Config\ScopeConfigInterface, কন্সট্রাকটর প্যারামিটার মাধ্যমে ইনজেকশনের।

এইভাবে কুকি জীবনকাল কনফিগারেশন থেকে ব্যবহৃত হয় ঠিক যেমন সম্মুখভাগে।

নোট করুন যে স্টোরগুলিতে কনফিগারেশন> কনফিগারেশন> অ্যাডভান্সড> অ্যাডমিন সিকিউরিটি> সেশন লাইফটাইম আর কুকিগুলিতে কোনও প্রভাব ফেলবে না! এটি রেডিস সেশনের আজীবন নির্ধারণের জন্য ব্যবহৃত হয়, তাই আপনি যদি কুকির জীবনকাল বৃদ্ধি করেন তবে আপনার এই মানটিও বাড়ানো উচিত।


আমি ভাবছি যদি আপনি এই সুরক্ষা কারণটি ব্যাখ্যা করতে পারেন। আমার দৃষ্টিকোণ থেকে, অ্যাডমিন কুকির জীবনকালকে 0 এ সেট করা, তাত্পর্য নিয়ে আসে এবং প্রকট আচরণ নয়, যদি আমরা 'অ্যাডমিন / সিকিউরিটি / সেশন_লাইফটাইম' ব্যবহার করি যা অ্যাডমিন সেশন লাইফ টাইম সংজ্ঞায়িত করে এবং যা কুকির আজীবনের উপর নির্ভর করে 2.1 থেকে নির্ভর করে।
আরকাদেই চাইজভ

1
আমি ধরে নিয়েছি যে "অ্যাডমিন" লগ আউট "না করে উইন্ডোটি বন্ধ করে দেয় এবং একই পিসিতে প্রবেশ করা যে কোনও ব্যক্তি ইতিমধ্যে লগইন হয়েছে case এটি কোনও বড় হুমকি নয় এবং আমি আপনার সাথে একমত হই যে এটি একটি খারাপ সিদ্ধান্ত এই "বৈশিষ্ট্য" এটি অ স্পষ্ট করতে।
ফ্যাবিয়ান শেমঙ্গলার

তবে আমি এখন দায়বদ্ধ প্রতিশ্রুতিটি অনুসন্ধান করেছি এবং এটি পেয়েছি: github.com/magento/magento2/commit/… "ম্যাগটও -49092: অ্যাডমিন লগইন পৃষ্ঠায় অবৈধ ফর্ম কী" - এটি আরও কিছু দিয়ে অন্য বাগটি আড়াল করার মত কাজ বলে মনে হচ্ছে বা কম দুর্ঘটনাজনিত এবং কমপক্ষে নিবন্ধিত পার্শ্ব প্রতিক্রিয়া।
ফ্যাবিয়ান শেমংলার

আরও কিছু চলতে হবে, কারণ আমার ব্রাউজারটি বন্ধ না করেই আমার সেশনটির মেয়াদ শেষ হচ্ছে।
ম্যাট কোসেন্টিনো

1
@ ভলভক্স সাবধানতার সাথে দেখুন: প্লাগইনটি setCookieLifetimeপ্যারামিটার সহ একটি সার্বজনীন পদ্ধতির জন্য
ফ্যাবিয়ান শেমংলার

6

এখানে একটি নোট, স্বীকৃত উত্তরটি কাজ করে তবে ম্যাজেন্টো 2 ডিফল্ট পিএইচপি ফোল্ডারটি সেশন ফাইলগুলি সঞ্চয় করতে ব্যবহার করে, যদি আপনার এই পিএইচপিতে কনফিগার করা থাকে:

09,39 *     * * *     root   [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean

তারপরে এটি পিএইচপি ইনস্টলেশন দ্বারা সিস্টেম ক্রোন যুক্ত করা হয়।

সুতরাং আপনি যদি পারেন

  • যে ক্রোন অক্ষম
  • বা আরও ভাল: gc_maxlifetimephp.ini বৃদ্ধি (এটি উপরের সীমা হিসাবে হবে)

2

কোনও সেটিংস পরিবর্তন না করে অন্য একটি সমাধান হ'ল auto refresh addonআপনার ব্রাউজারের জন্য যে কোনও ইনস্টল করুন এবং এর সময় নির্ধারণ করুন (60 সেকেন্ড)।

এটি প্রতি oo সেকেন্ডের জন্য পৃষ্ঠাটি স্বয়ংক্রিয়ভাবে রিফ্রেশ করবে যা সেশন আজীবন শেষ হতে বাধা দেয় এবং আমরা অন্য ট্যাবে কাজ শুরু করতে পারি।

আমি ব্যবহার করেছি Easy Auto Refreshএবং এটি আমার পক্ষে ভাল কাজ করে।


এই জাতীয় "সমাধান" এর সাথে বোকামি করবেন না। এটি সম্পূর্ণ অগ্রহণযোগ্য।
বিক্রয়

2

আপনি যদি ওয়েব এবং ডিবি এর জন্য একাধিক ভিএম / সার্ভার ব্যবহার করেন এবং সময় সিঙ্ক না হয় তবে সমস্যাটিও সৃষ্টি করে।

সুতরাং উপরের সমস্ত বিকল্পগুলি যদি কাজ না করে তবে আপনি ওয়েব এবং ডিবির জন্য একাধিক সার্ভার ব্যবহার করার সময় দুটি সেভারের টাইম স্ট্যাম্প / তারিখটি পরীক্ষা করে দেখুন।


1

আমি জানি না তবে আমাদের মধ্যে কারও কারও জন্য ব্যাকএন্ড থেকে অ্যাডমিন সেশন লাইফটাইম সেট করা কাজ করে না, তাই আমি বেশ কয়েকটি সমাধান পেয়েছি:

  1. Php.ini এ 1440 থেকে সেকেন্ডের যতটুকু ইচ্ছান আপনি সেশন.gc_max Lifetime পরিবর্তন করুন। (এই সমাধানটি আমার পক্ষে কাজ করেছে, ২.২.০ এবং ২.২.১ তে পরীক্ষিত)

  2. .Htaccess এ "পিএইচপি_ভ্যালু সেশন.gc_max Lifeটাইম 28800" যোগ করুন বা আপনি যে সেকেন্ডটি চান তা যোগ করুন।

  3. ম্যানুয়ালি জীবনকাল সেট করে। যান বিক্রেতা / Magento / মডিউল-এনক্রিপশন কী, / etc / config.xml 900s থেকে সেকেন্ডের যাই হোক না কেন আপনি যে নম্বরে ইচ্ছা এবং পরিবর্তন।

আশা করি এর একটি সমাধান অন্যের জন্যও কার্যকর হবে।

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