เป็นไปได้ที่บางครั้งเวลาที่เซสชันผู้ดูแลระบบแอ็คทีฟสั้นเกินไป
วิธีการเปลี่ยนเวลาที่ใช้ในการออกจากระบบอัตโนมัติของผู้ใช้จาก back-end?
เป็นไปได้ที่บางครั้งเวลาที่เซสชันผู้ดูแลระบบแอ็คทีฟสั้นเกินไป
วิธีการเปลี่ยนเวลาที่ใช้ในการออกจากระบบอัตโนมัติของผู้ใช้จาก back-end?
คำตอบ:
มีรายการเมนูสำหรับสิ่งนี้ใน:
ระบบ> การกำหนดค่า> ขั้นสูง> ผู้ดูแลระบบ> ความปลอดภัย> อายุการใช้งานเซสชัน (วินาที)
ตรวจสอบตัวแปรสภาพแวดล้อม php ด้วย
<seconds>
<seconds>
เพื่อให้แน่ใจว่าคุณกำลังแก้ไข php.ini ที่ถูกต้องให้สร้างไฟล์ "check.php" อย่างง่ายด้วยเนื้อหาดังต่อไปนี้:
<?php
phpinfo();
?>
วางไฟล์ในไดเรกทอรีบ้านของวีโอไอพีของคุณโทรจากเบราว์เซอร์ของคุณ (URL / check.php) และตรวจสอบการตั้งค่าเหล่านี้
สำหรับ Magento 2 สามารถพบได้ในแผงด้านซ้ายบนผู้ดูแลระบบ
ร้านค้า> การกำหนดค่า> ขั้นสูง> ผู้ดูแลระบบ> ความปลอดภัย
Admin Session Lifetime
ตัวเลือก (วินาที) ในหน้าต่างหลัก
ค่าเริ่มต้นคือ 900 สำหรับ Magento 2 ตั้งค่า 1 ชั่วโมงเป็น3600
(60 วินาที * 60 นาที)
คุณต้องกำหนดค่านี้ใน "การกำหนดค่าเริ่มต้น" แทนที่จะเลือกเว็บไซต์หรือมุมมองร้านค้าสำหรับตัวเลือกมุมมองร้านค้าของคุณ ฉันพยายามใช้มันในมุมมองร้านค้าผ่านเมนูแบบเลื่อนลงที่ด้านบนซ้ายและตัวเลือกไม่ได้อยู่ที่นั่น มันสมเหตุสมผลเนื่องจากเป็นการกำหนดค่าการจัดการ
โปรดทราบว่าการตั้งค่านี้ไม่มีผลต่ออายุการใช้งานของคุกกี้อย่างน้อยตั้งแต่ Magento 2.1
อีกวิธีง่ายๆที่ไม่มีการแก้ไขการตั้งค่าใด ๆ คือติดตั้งใด ๆ auto refresh addon
สำหรับเบราว์เซอร์ของคุณและตั้งเวลา (60 วินาที)
มันจะรีเฟรชหน้าเว็บโดยอัตโนมัติทุกๆ 6o วินาทีซึ่งป้องกันไม่ให้อายุการใช้งานเซสชั่นหมดอายุและเราสามารถเริ่มทำงานในแท็บอื่น
ฉันใช้Easy Auto Refresh
และมันใช้งานได้ดีสำหรับฉัน
ระบบ -> การกำหนดค่า -> ทั่วไป -> เว็บ -> การจัดการเซสชันคุกกี้
อายุการใช้งานคุกกี้: เปลี่ยนค่านี้ (เช่น: 86400)
ตั้งแต่ 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
ฉีดผ่านพารามิเตอร์คอนสตรัค
วิธีนี้อายุการใช้งานคุกกี้จะถูกใช้จากการกำหนดค่าเช่นเดียวกับในส่วนหน้า
โปรดทราบว่าการกำหนดค่าในร้านค้า> การกำหนดค่า> ขั้นสูง> ความปลอดภัยของผู้ดูแลระบบ> อายุการใช้งานเซสชันจะไม่มีผลกับคุกกี้อีกต่อไป! มันถูกใช้เพื่อกำหนดอายุการใช้งาน Redis ดังนั้นหากคุณเพิ่มอายุการใช้งานคุกกี้คุณควรเพิ่มค่านี้ด้วย
Sunovisio ให้ส่วนขยายที่ช่วยให้คุณใช้งานเซสชันการจัดการของคุณอยู่เสมอในขณะที่คุณกำลังทำงานและเป็นอิสระจากการหมดเวลาเซสชันของคุณ
คุณสามารถตรวจสอบได้ที่: http://ecommerce.sunovisio.com/index.php/admin-keep-alive-1-1-0.html
หวังว่าส่วนขยายนี้จะช่วยให้คุณทำงานกับ Magento Administration Panel ของคุณ!
ใน MySQL:
ตาราง: core_config_data
เส้นทาง: ผู้ดูแลระบบ / ความปลอดภัย / session_lifetime
ใช่ แต่ก่อนอื่นคุณต้องแน่ใจว่าตำแหน่งวีโอไอพีและเวลาเซิร์ฟเวอร์นั้นอยู่ในเขตเวลาเดียวกัน ตรวจสอบให้แน่ใจว่าไม่มีเซสชันใด ๆ * แทนที่ด้วยใน php.ini