Solusi untuk Magento 2.1+
Sejak Magento 2.1 masa admin sesi selalu "sesi", yaitu sampai browser ditutup. Initelah mungkin telah diperkenalkan karena alasan keamanan.
Kode yang relevan ada di Magento\Backend\Model\Session\AdminConfig
:
/**
* Set session cookie lifetime to session duration
*
* @return $this
*/
protected function configureCookieLifetime()
{
return $this->setCookieLifetime(0);
}
Jika Anda ingin mengubah perilaku ini, Anda bisa menambahkan plugin untuk kelas ini dengan metode interseptor berikut:
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];
}
Di mana $this->scopeConfig
harus menjadi contoh \Magento\Framework\App\Config\ScopeConfigInterface
, disuntikkan melalui parameter konstruktor.
Dengan cara ini, masa pakai cookie digunakan dari konfigurasi, sama seperti di frontend.
Perhatikan bahwa konfigurasi di Toko> Konfigurasi> Tingkat Lanjut> Keamanan Admin> Session Seumur Hidup tidak lagi memiliki pengaruh pada cookie! Ini digunakan untuk menentukan seumur hidup sesi Redis, jadi jika Anda menambah umur cookie, Anda juga harus meningkatkan nilai ini.