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?
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?
Réponses:
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
<seconds>
<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 .
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
Une autre solution simple sans modifier aucun paramètre consiste à en installer un auto refresh addon
pour 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 Refresh
et cela fonctionne bien pour moi.
Système -> Configuration -> Général -> Web -> Gestion des cookies de session
Cookie Lifetime: modifiez cette valeur (par exemple: 86400).
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];
}
Où $this->scopeConfig
devrait ê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.
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!
Dans MySQL:
table: core_config_data
chemin: admin / security / session_lifetime
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