Comment changer l'heure de la session Admin dans Magento?

28

Il est possible que la durée d'activation de la session d'administration soit parfois trop courte.

Comment changer le temps nécessaire à la déconnexion automatique de l'utilisateur depuis le back-end?

Meetai.com
la source

Réponses:

28

Il y a un élément de menu pour cela dans:

Système> Configuration> Avancé> Admin> Sécurité> Durée de vie de la session (secondes)

Vérifiez également les variables d'environnement php

  • php_value session.cookie_lifetime <seconds>
  • php_value session.gc_maxlifetime <seconds>

Afin de vous assurer que vous éditez le bon php.ini, créez un simple fichier "check.php" avec le contenu suivant:

<?php 
phpinfo();
?>

, placez le fichier dans votre répertoire personnel magento, appelez-le depuis votre navigateur (URL / check.php) et vérifiez ces paramètres.

Pour plus d'informations, regardez ici .

elMarquis
la source
16

Solution pour Magento 2.0

Pour Magento 2, il peut être trouvé dans le panneau de gauche sur Admin.

Magasins> Configuration> Avancé> Admin> Sécurité

Admin Session Lifetime (secondes) dans la fenêtre principale.

La valeur par défaut est 900 pour Magento 2. Pour 1 heure définie sur 3600(60 secondes * 60 minutes).

Vous devez le configurer sur la "Configuration par défaut" au lieu de sélectionner un site Web ou une vue de magasin pour votre option d'affichage de magasin. J'ai essayé de l'utiliser sur une vue de magasin via le menu déroulant en haut à gauche et l'option n'est pas là. Cela a du sens car il s'agit d'une configuration d'administration.

Notez que ce paramètre n'a aucun effet sur la durée de vie des cookies au moins depuis Magento 2.1

camdixon
la source
Semble fonctionner pour moi sur 2.1 en ce moment, au moins en mode développeur si cela importe.
Aaron McMillin
Brisé en 2.1.1, toujours un cookie de session
Alex
Cela fonctionne pour mon Magento v.2.3.1
kanenas
4

Une autre solution simple sans modifier aucun paramètre consiste à en installer un auto refresh addonpour votre navigateur et à régler son heure (60 secondes).

Il actualisera automatiquement la page toutes les 6o secondes, ce qui empêchera l'expiration de la durée de vie de la session et nous pourrons commencer à travailler sur un autre onglet.

J'ai utilisé Easy Auto Refreshet cela fonctionne bien pour moi.

Amit Singh
la source
2

Système -> Configuration -> Général -> Web -> Gestion des cookies de session

Cookie Lifetime: modifiez cette valeur (par exemple: 86400).

Meetai.com
la source
8
Désolé, mais c'est la valeur pour la durée de vie de la session dans le frontend (boutique). La durée de vie de la session d'administration peut être définie via Système> Configuration> Section avancée> Admin> Durée de vie de la session (secondes). Réglez-le sur 3600 (60 secondes * 60 minutes) pour une durée de vie d'une heure.
Anna Völkl
@ AnnaVölkl J'ai écrit un article détaillé à ce sujet. magento2training.com/…
Nahid
2

Vérifiez la capture d'écran ci-dessous dans le panneau d'administration de Magento 2 pour configurer la session de l'utilisateur de connexion. entrez la description de l'image ici

Yogesh Trivedi
la source
2

Solution pour Magento 2.1+

Depuis Magento 2.1, la durée de vie de la session d'administration est toujours "session", c'est-à-dire jusqu'à la fermeture du navigateur. Cela a été introduit pour des raisons de sécurité.

Le code correspondant se trouve dans Magento\Backend\Model\Session\AdminConfig:

/**
 * Set session cookie lifetime to session duration
 *
 * @return $this
 */
protected function configureCookieLifetime()
{
    return $this->setCookieLifetime(0);
}

Si vous souhaitez modifier ce comportement, vous pouvez ajouter un plug-in pour cette classe avec la méthode d'intercepteur suivante:

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->scopeConfigdevrait être une instance de \Magento\Framework\App\Config\ScopeConfigInterface, injectée via le paramètre constructeur.

De cette façon, la durée de vie du cookie est utilisée à partir de la configuration, tout comme dans le frontend.

Notez que la configuration dans Stores> Configuration> Advanced> Admin Security> Session Lifetime n'a plus aucun effet sur les cookies! Il est utilisé pour déterminer la durée de vie de la session Redis, donc si vous augmentez la durée de vie du cookie, vous devez également augmenter cette valeur.

Fabian Schmengler
la source
1

Sunovisio fournit en fait une extension qui vous permet de maintenir votre session d'administration en vie pendant que vous travaillez et cela indépendamment du délai d'expiration de votre session.

Vous pouvez le vérifier ici: http://ecommerce.sunovisio.com/index.php/admin-keep-alive-1-1-0.html

J'espère que cette extension vous aidera à travailler avec votre panneau d'administration Magento!

Loic
la source
1

Dans MySQL:

table: core_config_data

chemin: admin / security / session_lifetime

ThinkTeamwork
la source
0

oui, mais vous devez d'abord vous assurer que l'emplacement magento et l'heure du serveur sont dans le même fuseau horaire. assurez-vous également qu'il n'y a pas de session. * substitutions dans php.ini


la source