2012-01-31 344 views
10

Mam magento zainstalowane w podkatalogu. www.domain.com/subdir/magentoNie mogę się zalogować do administratora Magento

Ta strona działała idealnie w jednym punkcie. Nic nie zmieniłem, dopóki mój klient nie powiedział, że nie może się zalogować do administratora Magento.

Zalogowałem się dobrze z moim komputerze, ale na swoim komputerze to tylko przekierowanie do logowania Magento administratora bez komunikatu o błędzie i adres URL, który wyglądał głupkowaty tak:

http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c9d0/ 

myślałem, że jego ciasteczka były blokowane, ale tak nie było.

Moje ustawienia Magento były bezpieczne/niezabezpieczone baseurl: http://domain.com/subdir/magento/

web cookie path: (blank) 
web cookie domain: (blank) 

Po oczyszczaniu var/cache, stwierdziliśmy, że ja sam nie mógł się zalogować do administratora albo z tym samym dokładnie problem.

Próbowałem następujące ustawienia bez powodzenia:

path:/
domain: domain.com 

path: /subdir/magento 
domain: vigrond.com 

Próbowałem też zakomentowanie te linie w Varien.php, ale to nie miało żadnego wpływu albo.

Moje konto na serwerze to VPS i ma dużo wolnego miejsca.

Więc jestem prawie zagubiony, zastanawiając się, dlaczego to się zdarzyło w pierwszej kolejności, kiedy zadziałało wcześniej (nic nie zmieniło) i dlaczego jest tak skomplikowane?

Każda pomoc mile widziane

+0

Sprawdź tutaj, sam problem, przed którym stoisz: http://magento.stackexchange.com/questions/85958/magento-admin-login-issue – joni

Odpowiedz

1

Nigdy nie rozwiązałem problemu. Ale wyczyściłem komputer klienta i ponownie zainstalowałem system Windows 7, i zadziałało. To było bardzo dziwne, że nie działało wcześniej, ponieważ nie był za proxy, nie miał reklam ani wirusów. Problem został odtworzony w każdej z jego przeglądarek (chrome firefox i IE). To nie był problem z routerem. To był problem z systemem Windows, ale nie mogłem powiedzieć, co dokładnie było przyczyną. To nie były ustawienia bezpieczeństwa w Internecie, ponieważ je sprawdziłem. Sprawdzono również plik hosta. Jak powiedziałem wcześniej, bardzo kłopotliwe

14

Jeśli nie jest wyświetlany komunikat o błędzie logowania („nieprawidłowe hasło”, itd.) To prawie zawsze problem cookie sesji. Aby je wykluczyć nasze całkowicie użycie Użyj przeglądarki plików cookie w przeglądarce i/lub ulubionego penetratora ruchu HTTP i sprawdzić

  1. Że wszystkie ciasteczka mają odpowiednie daty ważności, po czym ustawić

  2. że sesja ciasteczko ma spójnego tokena nazwa/wartość dla każdego żądania

  3. że PHP, gdy uruchomiony przez Magento, ma różne żywotność sesji ini ustawień w rozsądnej wartości

  4. że PHP można napisać cokolwiek używa jako nośnika cookies

  5. że czas serwera jest zgodny z czasem rzeczywistym, i że sama PHP ma stref czasowych ustawić

+0

Tak, zdecydowanie problem z plikami cookie. Po wyczyszczeniu własnych plików cookie mogłem zalogować się ponownie. Zostałem jednak przeniesiony na komputer mojego klienta i nadal nie mogę się zalogować. Nie ma ustawionego pliku cookie. To mnie oszałamia. Jego pliki cookie są włączone, usunąłem jakąkolwiek ochronę plików cookie śledzenia. Mogę zalogować się do Gmaila, więc pliki cookie działają. Ale magento nie da mu ciasteczka, ale da mi ciasteczko. Jestem taki skołowany. – Vigrond

+0

Wygląda na to, że magento zmywa pliki cookie i poddomeny (np. Staging.store.com i store.com) ... skończy się posiadanie podwójnego pliku cookie i problemów w loginie administratora (jestem pewien, że to błąd ( – WonderLand

+0

@ Vigrond jak usunąć pliki cookie? – Anudeep

4

Czy skasowanie pamięci sesji w katalog var?

W moim przypadku, kiedy grałem z autoryzację na Multistore na subdomenach (zmiana ścieżki i domenę na ciasteczka jak ty), ta metoda pomogła mi spadek „złego” cookie i bylo pomyslne logined admin:

w AppPath katalogu/var/sesji zrobiłem polecenie w powłoce (uważać na ścieżki, to może usunąć wszystkie pliki w katalogu)

rm -rf /path/to/magento/var/session/* 

A potem po prostu wyczyścić pliki cookie dla domeny w przeglądarce.

+0

Miałem problem z przestrzenią tutaj, więc rm -rf * faktycznie naprawił problem ;-) – Andrew

+3

Uwaga dla wszystkich: Strzeż się, że użycie rm -rf * może wymazać całą instalację magento lub serwer , jeśli to polecenie jest uruchamiane w niewłaściwej bezpośrednio –

0

miałem ten sam problem, ale ja pracowałem na XAMPP na Windows 7 x64.

W systemie Magento - konfiguracja - web - sesja cookies zmiana zarządzanie Użyj protokołu HTTP Tylko do no i Cookie Lifetime do 86400.

Zmieniłem tylko żywotność plików cookie tylko w przypadku zmiany czasu na letni, może to nie być konieczne.

Przed zmianami mogłem się logować tylko za pomocą przeglądarki Firefox, a po zmianach działają wszystkie przeglądarki.

Zostawić Ścieżka do plików cookie i Pliki cookie domeny puste.

10

Find app/code/core/Mage/Rdzeń/Model/Sesja/Streszczenie/Varien.php. w folderze instalacji Magento. Skomentuj linie (patrz poniżej) od 80 do 83. Numer linii może się różnić.

// set session cookie params 
    session_set_cookie_params(
     $this->getCookie()->getLifetime(), 
     $this->getCookie()->getPath()//, 
     //dependes which versin of mage you are using, you may comment these as well 
     //$this->getCookie()->getDomain(), 
     //$this->getCookie()->isSecure(), 
     //$this->getCookie()->getHttponly() 
    ); 

To jest problem z buforowaniem. Które ostatnio społeczność Magento potwierdziło, że jest posortowane, ale tak nie jest. :)

Wystarczy wyczyścić pamięć podręczną i zrobić kilka kroków powinno działać tak.

skomentuje linie również

//  if (!$cookieParams['httponly']) { 
//   unset($cookieParams['httponly']); 
//   if (!$cookieParams['secure']) { 
//    unset($cookieParams['secure']); 
//    if (!$cookieParams['domain']) { 
//     unset($cookieParams['domain']); 
//    } 
//   } 
//  } 
// 
//  if (isset($cookieParams['domain'])) { 
//   $cookieParams['domain'] = $cookie->getDomain(); 
//  } 
  • Sprawdź, czy masz włączoną obsługę plików cookie w przeglądarce, spróbuj szereg różnych przeglądarkach, w tym Safari czy Opera. Chrome da pewne problemy z numerami i musisz pamiętać o wyczyszczeniu pamięci podręcznej w Chrome po wprowadzaniu zmian!

  • Upewnij się, że uprawnienia do pliku są ustawione dla KAŻDEGO - PEŁNA KONTROLA dla systemu Windows i 777 dla środowiska Mac/Linux Jeśli wszystko, co nadal nie działa, możesz spróbować: (Nie polecam tego rozwiązania dla produkcji wersja Magento, ale dla ciebie lokalne środowisko testowe to zadziała.)

  • Sprawdź wersję używanego php. Jeśli korzystasz z najnowszego Magento, spróbuj znaleźć wersję PHP i rozszerzeń.

More details

+1

To działało dla mnie Zrobiłem bałagan przed nim: D, ale tak naprawdę twoje rozwiązanie działało! przed googlowaniem poszedłem do phpmyadmin i zmieniłem hasło, więc nie znałem szyfrowania n Zmieniłem szyfrowanie na md5, a następnie ponownie się zalogowałem bez powodzenia n Wypróbowałem twoje rozwiązanie n teraz mam je gotowe – Nickool

+0

cieszę się, że działało ... – Fury

+1

pracował dla mnie też! Dzięki! – Ray

0

Sprawdź configs cookie w core_config_data stole i sprawdzić, czy sesja jest zapisywany na db. W moim przypadku ktoś właśnie zmienił domenę plików cookie i ścieżkę plików cookie o nieprawidłowej wartości.

Możesz to również sprawdzić w węźle aplikacji/etc/local.xml. Jeśli jest na db, może powinieneś zmienić pliki , aby móc wyczyścić dane sesji bezpośrednio w katalogu var/session.

+0

Jeśli th Magazyn sesji jest ustawiony na db, istnieje duże prawdopodobieństwo, że jest ustawiony w taki sposób, aby umożliwić tworzenie klastrów za modułem równoważenia obciążenia, w którym to przypadku wystąpi więcej problemów z ciasteczkami sesji, ponieważ klient zostanie wylogowany za każdym razem, gdy trafi do innego węzła. – Stephanie

1

Walczyłem z tym problemem dzisiaj na moim lokalnym serwerze. Nie mogę zalogować się przy użyciu dowolnej przeglądarki. Naprawdę nie chciałem komentować żadnych linii w podstawowych plikach ani robić żadnych innych "brudnych" rozwiązań.

Najpierw sprawdziłem plik cookie ustawiony przez przeglądarkę. Jego okres ważności wyniósł 70 lat, więc wyraźnie był to problem z ciasteczkami.

Sprawdziłem wartości plików cookie w bazie danych Magento. W phpmyadmin znalazłem tabelę core_config_data, następnie pola z wartościami: web/cookie/cookie_domain i web/cookie/cookie_path. Obie były puste.

Moje rozwiązanie było ustawione:

web/Cookie/cookie_domain do mojej domeny

i

web/Cookie/cookie_path do /.

Przykład:

domena gdzie uruchomieniu Magento jest magento.local zestaw:

web/Cookie/cookie_path = magento.local

i

web/cookie/cookie_path =/

0

Usuń pliki cookie (powiązane z domeną) z ustawień przeglądarki.

0

Miałem do czynienia z tym samym problemem i na końcu stwierdziłem, że było to spowodowane pełnymi miejscami na dysku i z tego powodu Magento nie był w stanie utworzyć pliku sesji w folderze var var/session. Po wyczyszczeniu plików dziennika, których problem został rozwiązany.

0

Ponadto, można zaktualizować hasło w bazie danych, czy wszystko z góry nie działa i trzeba desperacką dostępu:

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username=‘user’; 

zastąpić użytkownika i hasło słowa w zależności od potrzeb.

-1

W przypadku, gdy nie widzisz żadnego pliku cookie o nazwie "frontend" lub "adminhtml", po przeładowaniu strony plik cookie Magento nie został ustawiony. W moim przypadku mam nieprawidłową cookie_domain. Użyłem "null" zamiast "NULL".

Jak mogę ustawić cookie_domain do NULL w core_config_data, problem został rozwiązany

0

Jeśli nic nie działa, upewnij się, że kwota dysk nie zostanie przekroczona. Nowe pliki cookie sesji utworzone w ./var/session będą miały długość zero bajtów, jeśli limit dysku dla użytkownika zostanie przekroczony.

Powiązane problemy