마 젠토 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
생성자 파라미터를 통해 주사.
이런 식으로 쿠키 수명은 프론트 엔드에서와 같이 구성에서 사용됩니다.
의 구성합니다 상점> 설정> 고급> 관리자 보안> 세션 수명이 더 이상 쿠키에 영향을주지 않습니다! Redis 세션 수명을 결정하는 데 사용되므로 쿠키 수명을 늘리면이 값도 늘려야합니다.