Jak zmienić czas sesji administratora w Magento?

28

Możliwe, że czasami czas aktywności sesji administratora jest zbyt krótki.

Jak zmienić czas potrzebny do automatycznego wylogowania użytkownika z zaplecza?

Meetai.com
źródło

Odpowiedzi:

28

Jest do tego pozycja menu w:

System> Konfiguracja> Zaawansowane> Administrator> Bezpieczeństwo> Żywotność sesji (sekundy)

Sprawdź także zmienne środowiskowe php

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

Aby upewnić się, że edytujesz poprawny plik php.ini, utwórz prosty plik „check.php” o następującej treści:

<?php 
phpinfo();
?>

, umieść plik w katalogu domowym magento, wywołaj go z przeglądarki (URL / check.php) i sprawdź te ustawienia.

Więcej informacji znajdziesz tutaj .

elMarquis
źródło
16

Rozwiązanie dla Magento 2.0

W przypadku Magento 2 można go znaleźć w lewym panelu administracyjnym.

Sklepy> Konfiguracja> Zaawansowane> Administrator> Bezpieczeństwo

Admin Session Lifetime Opcja (sekundy) w oknie głównym.

Domyślna wartość to 900 dla Magento 2. Przez 1 godzinę ustaw na 3600(60 sekund * 60 minut).

Musisz skonfigurować to w „Domyślnej konfiguracji” zamiast wybierać widok witryny lub sklepu dla opcji widoku sklepu. Próbowałem użyć go w widoku sklepu za pomocą menu rozwijanego w lewym górnym rogu, a tej opcji nie ma. Ma to sens, ponieważ jest to konfiguracja administracyjna.

Pamiętaj, że to ustawienie nie ma żadnego wpływu na czas życia plików cookie, przynajmniej od Magento 2.1

camdixon
źródło
Wygląda na to, że teraz pracuje dla mnie w wersji 2.1, przynajmniej w trybie programisty, jeśli to ma znaczenie.
Aaron McMillin
Zepsuty w 2.1.1, zawsze cookie sesyjne
Alex
Działa z moim Magento v.2.3.1
kanenas
4

Innym prostym rozwiązaniem bez modyfikowania ustawień jest zainstalowanie dowolnego auto refresh addonw przeglądarce i ustawienie jego czasu (60 sekund).

Będzie automatycznie odświeżać stronę co 6o sekund, co zapobiega wygaśnięciu żywotności sesji i możemy rozpocząć pracę nad inną kartą.

Użyłem Easy Auto Refreshi działa dobrze dla mnie.

Amit Singh
źródło
2

System -> Konfiguracja -> Ogólne -> Internet -> Zarządzanie plikami cookie sesji

Żywotność plików cookie: zmień tę wartość (np. 86400).

Meetai.com
źródło
8
Przepraszamy, ale jest to wartość czasu trwania sesji w interfejsie użytkownika (sklep). Czas życia sesji administratora można ustawić za pomocą opcji System> Konfiguracja> Sekcja zaawansowana> Administrator> Czas życia sesji (sekundy). Ustaw na 3600 (60 sekund * 60 minut) na okres 1 godziny.
Anna Völkl
@ AnnaVölkl Napisałem szczegółowy post na ten temat. magento2training.com/...
Nahid
2

Sprawdź załączony zrzut ekranu poniżej z panelu administracyjnego Magento 2, aby skonfigurować sesję logowania użytkownika. wprowadź opis zdjęcia tutaj

Yogesh Trivedi
źródło
2

Rozwiązanie dla Magento 2.1+

Od Magento 2.1 czas trwania sesji administratora to zawsze „sesja”, tj. Do czasu zamknięcia przeglądarki. Zostało to wprowadzone ze względów bezpieczeństwa.

Odpowiedni kod znajduje się w Magento\Backend\Model\Session\AdminConfig:

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

Jeśli chcesz zmienić to zachowanie, możesz dodać wtyczkę do tej klasy za pomocą następującej metody przechwytywacza:

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

Gdzie $this->scopeConfigpowinna być instancja \Magento\Framework\App\Config\ScopeConfigInterface, wstrzykiwana przez parametr konstruktora.

W ten sposób czas życia pliku cookie jest wykorzystywany z konfiguracji, podobnie jak w interfejsie użytkownika.

Pamiętaj, że konfiguracja w Sklepach> Konfiguracja> Zaawansowane> Bezpieczeństwo administratora> Czas życia sesji nie ma już wpływu na pliki cookie! Służy do określania czasu życia sesji Redis, więc jeśli wydłużysz czas życia ciasteczka, powinieneś również zwiększyć tę wartość.

Fabian Schmengler
źródło
1

W MySQL:

tabela: core_config_data

ścieżka: admin / security / session_lifetime

ThinkTeamwork
źródło
0

tak, ale najpierw musisz się upewnić, że lokalizacja Magento i czas serwera znajdują się w tej samej strefie czasowej. upewnij się również, że nie ma żadnych sesji. * zastępuje w php.ini


źródło