Magento 2.1+ için Çözüm
Magento 2.1'den beri yönetici oturumu ömrü her zaman "oturum" dur, yani tarayıcı kapatılana kadar. Buolmuştur güvenlik nedeniyle tanıtılmış olabilir.
İlgili kod şurada Magento\Backend\Model\Session\AdminConfig
:
/**
* Set session cookie lifetime to session duration
*
* @return $this
*/
protected function configureCookieLifetime()
{
return $this->setCookieLifetime(0);
}
Bu davranışı değiştirmek istiyorsanız, aşağıdaki sınıf yöntemiyle bu sınıf için bir eklenti ekleyebilirsiniz:
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];
}
Nerede $this->scopeConfig
bir örneği olmalıdır \Magento\Framework\App\Config\ScopeConfigInterface
yapıcı parametre ile enjekte.
Bu şekilde, çerez ömrü, tıpkı ön uçtaki gibi, yapılandırmadan kullanılır.
Yapılandırma unutmayın Mağazalar> Yapılandırma> Gelişmiş> Yönetici Güvenlik> Oturum Ömür artık çerezleri üzerinde herhangi bir etkisi yoktur! Redis oturumunun ömrünü belirlemek için kullanılır, bu nedenle çerez ömrünü arttırırsanız, bu değeri de arttırmanız gerekir.