¿Cómo cambiar el tiempo de sesión de administrador en Magento?

28

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?

Meetai.com
fuente

Respuestas:

28

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

  • php_value session.cookie_lifetime <seconds>
  • php_value session.gc_maxlifetime <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í .

elMarquis
fuente
16

Solución para Magento 2.0

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

camdixon
fuente
Parece estar trabajando para mí en 2.1 en este momento, al menos en modo desarrollador si eso importa.
Aaron McMillin
Roto en 2.1.1, siempre cookie de sesión
Alex
Funciona para mi Magento v.2.3.1
kanenas
4

Otra solución simple sin modificar ninguna configuración es instalar cualquiera auto refresh addonpara 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 Refreshy funciona bien para mí.

Amit Singh
fuente
2

Sistema -> Configuración -> General -> Web -> Gestión de cookies de sesión

Duración de la cookie: cambie este valor (es decir, 86400).

Meetai.com
fuente
8
Lo sentimos, pero este es el valor para la vida útil de la sesión en la interfaz (tienda). La duración de la sesión de administrador se puede configurar a través del Sistema> Configuración> Sección avanzada> Admin> Duración de la sesión (segundos). Ajústelo a 3600 (60 segundos * 60 minutos) durante una vida útil de una hora.
Anna Völkl
@ AnnaVölkl He escrito una publicación detallada sobre esto. magento2training.com/…
Nahid
2

Consulte la captura de pantalla de la imagen adjunta a continuación desde el panel de administración de Magento 2 para configurar la sesión para el usuario que inicia sesión. ingrese la descripción de la imagen aquí

Yogesh Trivedi
fuente
2

Solución para Magento 2.1+

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->scopeConfigdeberí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.

Fabian Schmengler
fuente
1

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!

Loic
fuente
1

En MySQL:

tabla: core_config_data

ruta: admin / security / session_lifetime

ThinkTeamwork
fuente
0

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


fuente