Рішення для Magento 2.1+
Оскільки 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
, введений через параметр конструктора.
Таким чином, термін використання файлів cookie використовується з конфігурації, як і на фронталі.
Зверніть увагу, що конфігурація в магазинах> Конфігурація> Додатково> Безпека адміністратора> Життя сесії вже не впливає на файли cookie! Він використовується для визначення терміну служби сеансу Redis, тому якщо ви збільшите термін використання файлу cookie, ви також повинні збільшити це значення.