Nie można zalogować się do administratora po zainstalowaniu rozszerzenia

10

Z góry przepraszamy za drobne szczegóły na ten temat.

Sprzedaję rozszerzenie Magento. W najnowszej wersji zacząłem otrzymywać dziwne raporty o błędach od kilku użytkowników. W szczególności po zainstalowaniu rozszerzenia zgłaszają, że nie mogą się zalogować do administratora, a żądania logowania są przekierowywane z powrotem na stronę logowania i bez wyświetlania komunikatu o błędzie.

Brzmi to jak klasyczny problem „nie można ustawić pliku cookie / utworzyć sesji”. Dziwne jest to, że są w stanie zalogować się po 3 - 12 godzinach (jest to szacunek). Innymi słowy, napotykają problem, kontaktują się ze mną w sprawie wsparcia, odpisuję, zgłaszają, że problem zniknął. Zakładam również, że wyczyszczenie plików cookie i ustanowienie nowego identyfikatora sesji naprawi problem i zalecę to samo użytkownikom, którzy go napotkają.

Czy ktoś tu wpadł na coś podobnego lub może wymyślić przyczynę, dla której tak się dzieje? Nie mogę odtworzyć problemu lokalnie, ale dostałem wystarczająco dużo raportów, że jestem przekonany, że jest to uzasadniony problem.

Alan Storm
źródło
2
Tak, mam to od czasu do czasu, po pobraniu konfiguracji, plików cookie, xdebug itp. Pomaga czyszczenie plików cookie. Nie pytaj mnie, co dzieje się w szczegółach.
Fabian Blechschmidt
2
Od czasu do czasu mam ten problem. Czyszczenie plików cookie pomaga. Nie jestem pewien, co jest przyczyną tego problemu. Dzikie zgadywanie: całkowity rozmiar pliku cookie dla tej domeny przekracza limit, a przeglądarka nie przyjmuje nowego pliku cookie z Magento po zalogowaniu.
Dmytro Zavalkin
2
Pojawia się ten problem - wydaje się gorzej w Chrome niż w FF (jak w, pojawia się częściej). Chociaż jestem na starszej wersji EE (1.10.1.1), więc może to być niezwiązane.
Cheddies,
2
Mam ten problem wyłącznie w Chrome. Czyszczenie plików cookie pomaga, a anegdotycznie witryny, na których wydaje się być najgorsze, to przechowywanie sesji systemu plików. Być może coś związanego z odśmiecaniem?
philwinkle
2
Może to być bardzo dobrze powiązane z błędem „niepoprawnego czasu serwera”. Chrome cierpi z tego powodu, ponieważ dokonuje dodatkowej weryfikacji plików cookie. Poproś klientów, aby zsynchronizowali czas na swoim serwerze.
Daniel Sloof,

Odpowiedzi:

8

Dziesięć miesięcy później jestem prawie pewien, że ten błąd został spowodowany przez zbyt wczesne utworzenie obiektu sesji w cyklu życia żądania Magento (za pośrednictwem obserwatora). Jeśli sesja zostanie utworzona zbyt wcześnie, nazwą pliku cookie PHP będzie PHPSESSIDzamiast adminhtmllub frontend.

Nie zatrzyma to działania systemu, ale w niektórych ścieżkach kodu warunkowego, w których plik cookie został już ustawiony, może to spowodować nieprawidłowe odczytywanie / zapisywanie tokenu logowania w sesji, co prowadzi do błędów „Nie mogę się zalogować”.

Pełne wyjaśnienie jest zbyt długie dla pojedynczej odpowiedzi Stack Exchange, ale możesz je znaleźć tutaj, jeśli jesteś zainteresowany. (samo-link)

Alan Storm
źródło
2

Jak powiedział Daniel Sloof, upewnij się, że czas na serwerze jest prawidłowy. To uniemożliwiło mi zalogowanie się w przeszłości. Po zresetowaniu czasu na serwerze upewnij się, że binujesz sesje (i pamięć podręczną dla dobrego pomiaru) zarówno z przeglądarki, jak i instalacji Magento.

Martijn Schot
źródło