ROZWIĄZANE - Magento 2 - Nie można zalogować się do administratora (brak komunikatu o błędzie) utknął na ekranie logowania

16

To nie jest pytanie, ale odpowiedź na problem, który jest dość stary, ale powraca. Pamiętam, jak walczyłem z tym w czasach, gdy konfigurowałem Magento 1.9 i tym razem powtórzyło się to na Magento 2.1.4. Zupełnie zapomniałem, jak to wtedy naprawiłem, więc tym razem dokumentuję tutaj swoją odpowiedź na wypadek, gdyby ktoś też jej potrzebował.

Opis problemu

Zasadniczo konfigurowałeś sklep Magento 2.1, spełniłeś wszystkie wymagania serwera, dodałeś protokół SSL, skonfigurowałeś swoją stronę internetową, sklep i widok sklepu i wypełniłeś konfigurację sklepu tylko po to, aby zdać sobie sprawę, że nagle nie możesz już zalogować się do panelu administracyjnego. Nie ma błędów, nic w konsoli przeglądarki, ani żadnego problemu z przeglądarką Chrome / Firefox. Wyczyść sesje i pamięć podręczną, ale bezskutecznie. Znalazłeś odpowiedzi, które wciąż wskazują na ustawienia sesji i pamięci podręcznej, ale postępowałeś zgodnie z dokumentacją i nadal nie działa.

Mubashar Aftab
źródło
najpierw opublikuj pytanie, a następnie poniżej kliknij Odpowiedz na swoją odpowiedź i dodaj odpowiedź na nie.
Qaisar Satti
Rozumiem. Dodałem oficjalną odpowiedź na dole, zgodnie z twoją prośbą.
Mubashar Aftab

Odpowiedzi:

27

Awaryjna naprawa

Niezależnie od tego, czy to rozwiązanie działa, najpierw wypróbuj poniższe kroki. Będziesz mógł się zalogować, co oznacza, że ​​jesteś na właściwej stronie. Jeśli nadal nie możesz się zalogować, problem najprawdopodobniej różni się od tego, który publikuję, przejdź na własne ryzyko.

  • Idź do swojej bazy danych. Jeśli masz phpMyAdmin, wykonaj następujące czynności:
  • Kliknij xxx_core_config_datatabelę (xxx_ to dodatkowy prefiks tabeli, który mógł zostać ustawiony podczas instalacji)
  • Po wybraniu tabeli kliknij kartę „szukaj” po prawej stronie
  • W menu wyszukiwania w obszarze „ścieżka” wybierz menu rozwijane (LIKE% ...%) i wstaw „cookie” w polu obok niego. Spowoduje to wyszukanie wszystkich wierszy tabeli zawierających „cookie” w wartości ścieżki.
  • Usuń WARTOŚĆ następujących elementów (jeśli nie widzisz niektórych, po prostu zignoruj. Być może nie został jeszcze skonfigurowany, więc możesz go pominąć):
    • web/cookie/cookie_domain
    • web/cookie/cookie_httponly
    • web/cookie/cookie_lifetime
    • web/cookie/cookie_path

Otóż ​​to. Teraz odśwież stronę administratora i spróbuj się zalogować. Powinno działać. Jeśli tak, przejdźmy teraz do sedna problemu.

Problem

W większości przypadków, postępując zgodnie z instrukcją, prosi nas o przechowywanie domeny cookie jako .domain.com, która oczekuje poddomeny, ale nazwa sklepu jest przechowywana jako http://domain.compodstawowy adres URL.

Poprawka

Istnieją dwa sposoby rozwiązania tego problemu.

Jeśli nie zamierzasz używać subdomeny do przechowywania plików cookie, możesz zapisać ustawienia domeny plików cookie w Sklepach -> Konfiguracja -> Internet -> Domena plików cookie jako (domena.com) bez poprzedzającego okresu i nawiasów.

Jeśli planujesz przygotować swój sklep na przyszłość i zezwolić na przechowywanie plików cookie subdomen, powinieneś ustawić domenę plików cookie na ( .domain.com) z poprzednim okresem i bez nawiasów. Jednak w podstawowym adresie URL w polu Stores -> Configuration -> Web -> Base URLdodaj wwwnazwę swojej domeny, taką jak http://www.domain.comi httpsbezpieczny podstawowy adres URL, jeśli używasz protokołu SSL (powinieneś).

Ponadto inne ustawienia plików cookie są takie: Cookie Lifetime- 86400 (Z mojego zrozumienia, nie potrzebujesz tego i możesz pozostawić puste i zaznaczyć „użyj wartości systemowej”, ponieważ teraz Magento zachowuje sesję ze względów bezpieczeństwa). Cookie Path- / Use HTTP Only- Tak Cookie Restriction Mode- Do ciebie. Jeśli włączysz tę opcję, na interfejsie pojawi się komunikat z prośbą o zgodę użytkownika na przechowywanie plików cookie.

Uwaga: raz jeszcze, ten jest dla moich przyszłych celów odniesienia i dla każdego, kto mógłby wpaść w tę frustrację tak jak ja.

Mubashar Aftab
źródło
Uratowałem mój dzień! Dzięki! Podejrzewałem problemy z ustawieniami trybu ograniczenia plików cookie, które wprowadziłem ostatnim razem, więc problemem rzeczywiście okazała się wartość domeny plików cookie ustawiona na „.domain.com”. Zmieniłem wartość z bazy danych web / cookie / cookie_domain na „domain.com” i udało mi się zalogować do obszaru administracyjnego.
Iveta Allogenes,
1

Szybka naprawa:

Dodaj lub zaktualizuj wpisy adresu URL do https: // bezpieczne adresy URL dla poniższych wpisów konfiguracji w bazie danych

W tabeli> core_config_dataustaw poniżej wartości dla swojego sklepu:

  1. web / unsecure / base_url => ' https://yoursiteurl.com/ '

  2. web / secure / base_url => ' https://yoursiteurl.com/ '

Sachin
źródło
1

Doświadczyłem tego po przygotowaniu nowego projektu wykonanego wcześniej przez innych deweloperów. Z mojej strony tak to naprawiłem.

W core_config_datatabeli szukałem ścieżki web/cookie/cookie_domain. A potem dowiedziałem się, że domena nie jest taka sama jak domena bieżącego projektu. Właśnie zmieniłem go tak, aby był taki sam jak bieżąca domena projektu. Następnie działa logowanie administratora.

phagento
źródło
0

Wkrótce po instalacji Magento napotkasz następujące problemy: Administrator nie może się zalogować po udanej instalacji b. Magento2: Nie znaleziono błędu 404 na stronie logowania administratora magento2 po udanej instalacji. do. Linki na stronie administratora nie działają.

Wykonaj poniższe kroki

a. Add the extra code to the **Validator.php** file which you will generally find from below given system path.
     Path: C:\xampp\htdocs\<Your Magento Folder>\vendor\magento\framework\View\Element\Template\File

     /**
     * Checks whether path related to the directory
     *
     * @param string $path
     * @param string|array $directories
     * @return bool
     */
    protected function isPathInDirectories($path, $directories)
    {
        if (!is_array($directories)) {
            $directories = (array)$directories;
        }
        $realPath = $this->fileDriver->getRealPath($path);
        **$realPath = str_replace('\\', '/', $realPath);   <<<====== Extra Code**
        foreach ($directories as $directory) {
            if (0 === strpos($realPath, $directory)) {
                return true;
            }
        }
        return false;
    }

b. This will regenerate all the files
      # php -d memory_limit=1G bin/magento setup:static-content:deploy -f


c. This will flush all the cache from the 2 directories var and generated
      Delete files form the folowing folders
        1. var 
        2. generated

To powinno rozwiązać problem

Allen
źródło