Come modificare il tempo della sessione di amministrazione in Magento?


28

È possibile che a volte il tempo in cui la sessione di amministrazione è attiva sia troppo breve.

Come modificare il tempo necessario per disconnettersi automaticamente dal back-end?

Risposte:


28

C'è una voce di menu per questo in:

Sistema> Configurazione> Avanzate> Ammin.> Sicurezza> Durata sessione (secondi)

Controlla anche le variabili di ambiente php

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

Per assicurarti di modificare il php.ini corretto, crea un semplice file "check.php" con il seguente contenuto:

<?php 
phpinfo();
?>

, posiziona il file nella tua home directory magento, chiamalo dal tuo browser (URL / check.php) e controlla queste impostazioni.

Per maggiori informazioni guarda qui .


16

Soluzione per Magento 2.0

Per Magento 2 può essere trovato nel pannello di sinistra nell'amministratore.

Negozi> Configurazione> Avanzate> Ammin.> Sicurezza

Admin Session Lifetime (secondi) opzione nella finestra principale.

Il valore predefinito è 900 per Magento 2. Per 1 ora impostato su 3600(60 secondi * 60 minuti).

È necessario configurarlo nella "Configurazione predefinita" invece di selezionare un sito Web o una vista negozio per l'opzione di visualizzazione negozio. Ho provato a usarlo nella vista di un negozio tramite il menu a discesa in alto a sinistra e l'opzione non c'è. Ha senso poiché si tratta di una configurazione di amministrazione.

Nota che questa impostazione non ha alcun effetto sulla durata dei cookie almeno da Magento 2.1


Sembra funzionare per me su 2.1 in questo momento, almeno in modalità sviluppatore se è importante.
Aaron McMillin,

Rotto in 2.1.1, cookie di sessione sempre
Alex

Funziona con il mio Magento
v.2.3.1

4

Un'altra soluzione semplice senza modificare alcuna impostazione è installarne una auto refresh addonper il browser e impostarne l'ora (60 secondi).

Aggiorna automaticamente la pagina ogni 6o secondo, il che impedisce alla durata della sessione di scadere e possiamo iniziare a lavorare su un'altra scheda.

Ho usato Easy Auto Refreshe funziona bene per me.


2

Sistema -> Configurazione -> Generale -> Web -> Gestione dei cookie di sessione

Durata dei cookie: modifica questo valore (ovvero: 86400).


8
Siamo spiacenti, ma questo è il valore per la durata della sessione nel frontend (negozio). La durata della sessione di amministrazione può essere impostata tramite Sistema> Configurazione> Sezione avanzata> Ammin.> Durata sessione (secondi). Impostalo su 3600 (60 secondi * 60 minuti) per una durata di un'ora.
Anna Völkl,

@ AnnaVölkl Ho scritto un post dettagliato su questo. magento2training.com/…
Nahid

2

Controlla lo screenshot dell'immagine allegata di seguito dal pannello di amministrazione di Magento 2 per impostare la sessione per l'utente di accesso. inserisci qui la descrizione dell'immagine


2

Soluzione per Magento 2.1+

A partire da Magento 2.1, la durata della sessione di amministrazione è sempre "sessione", ovvero fino alla chiusura del browser. Questo è stato introdotto per motivi di sicurezza.

Il codice pertinente è in Magento\Backend\Model\Session\AdminConfig:

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

Se si desidera modificare questo comportamento, è possibile aggiungere un plug-in per questa classe con il seguente metodo intercettore:

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];
}

Dove $this->scopeConfigdovrebbe essere un'istanza di \Magento\Framework\App\Config\ScopeConfigInterface, iniettata tramite il parametro del costruttore.

In questo modo la durata del cookie viene utilizzata dalla configurazione, proprio come nel frontend.

Nota che la configurazione in Negozi> Configurazione> Avanzate> Sicurezza amministratore> Durata sessione non ha più alcun effetto sui cookie! Viene utilizzato per determinare la durata della sessione Redis, quindi se si aumenta la durata dei cookie, è necessario aumentare anche questo valore.



1

In MySQL:

tabella: core_config_data

percorso: admin / security / session_lifetime


0

sì, ma prima devi assicurarti che la posizione di magento e l'ora del server siano nello stesso fuso orario. assicurati anche che non ci siano sessioni. * sostituisce php.ini

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.