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?

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 .


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


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.


2

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

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


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


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ść.




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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.