Es posible que a veces el tiempo de activación de la sesión de administración sea demasiado corto.
¿Cómo cambiar el tiempo que lleva cerrar automáticamente la sesión del usuario desde el back-end?
Es posible que a veces el tiempo de activación de la sesión de administración sea demasiado corto.
¿Cómo cambiar el tiempo que lleva cerrar automáticamente la sesión del usuario desde el back-end?
Respuestas:
Hay un elemento de menú para esto en:
Sistema> Configuración> Avanzado> Administrador> Seguridad> Duración de la sesión (segundos)
También verifique las variables de entorno php
<seconds>
<seconds>
Para asegurarse de que está editando el php.ini correcto, cree un archivo simple "check.php" con el siguiente contenido:
<?php
phpinfo();
?>
, coloque el archivo en su directorio de inicio de magento, llámelo desde su navegador (URL / check.php) y verifique esta configuración.
Para más información mira aquí .
Para Magento 2 se puede encontrar en el Panel de la izquierda en el Administrador.
Tiendas> Configuración> Avanzado> Admin> Seguridad
Admin Session Lifetime
(segundos) en la ventana principal.
El valor predeterminado es 900 para Magento 2. Para 1 hora establecido en 3600
(60 segundos * 60 minutos).
Debe configurar esto en la "Configuración predeterminada" en lugar de seleccionar un sitio web o vista de tienda para su opción de vista de tienda. Traté de usarlo en una vista de la tienda a través del menú desplegable en la parte superior izquierda y la opción no está allí. Tiene sentido ya que es una configuración de administración.
Tenga en cuenta que esta configuración no tiene ningún efecto en la vida útil de la cookie al menos desde Magento 2.1
Otra solución simple sin modificar ninguna configuración es instalar cualquiera auto refresh addon
para su navegador y configurar su tiempo (60 segundos).
Se actualizará automáticamente la página por cada 6o segundos, lo que evita que la vida útil de la sesión expire y podemos comenzar a trabajar en otra pestaña.
Solía Easy Auto Refresh
y funciona bien para mí.
Sistema -> Configuración -> General -> Web -> Gestión de cookies de sesión
Duración de la cookie: cambie este valor (es decir, 86400).
Desde Magento 2.1, la duración de la sesión de administrador es siempre "sesión", es decir, hasta que se cierra el navegador. Esto se ha introducido por razones de seguridad.
El código relevante está en Magento\Backend\Model\Session\AdminConfig
:
/**
* Set session cookie lifetime to session duration
*
* @return $this
*/
protected function configureCookieLifetime()
{
return $this->setCookieLifetime(0);
}
Si desea cambiar este comportamiento, puede agregar un complemento para esta clase con el siguiente método de interceptor:
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];
}
Donde $this->scopeConfig
debería ser una instancia de \Magento\Framework\App\Config\ScopeConfigInterface
, inyectada a través del parámetro constructor.
De esta forma, la duración de la cookie se usa desde la configuración, al igual que en la interfaz.
Tenga en cuenta que la configuración en Tiendas> Configuración> Avanzado> Seguridad de administrador> Sesión de por vida ya no tiene ningún efecto en las cookies. Se utiliza para determinar la duración de la sesión de Redis, por lo que si aumenta la duración de la cookie, también debe aumentar este valor.
Sunovisio en realidad proporciona una extensión que le permite mantener viva su sesión de administración mientras está trabajando y eso independientemente del tiempo de espera de la sesión.
Puede verificarlo allí: http://ecommerce.sunovisio.com/index.php/admin-keep-alive-1-1-0.html
¡Espero que esta extensión lo ayude a trabajar con su Panel de administración de Magento!
En MySQL:
tabla: core_config_data
ruta: admin / security / session_lifetime
sí, pero primero debe asegurarse de que la ubicación de magento y la hora del servidor estén en la misma zona horaria. también asegúrese de que no haya ninguna sesión. * reemplaza en php.ini