RISOLTO - Magento 2 - Impossibile accedere all'amministratore (nessun messaggio di errore) bloccato nella schermata di accesso


16

Questa non è una domanda, ma piuttosto una risposta a un problema piuttosto vecchio ma ricorrente. Ricordo di aver lottato su questo nei giorni in cui stavo installando Magento 1.9 e questa volta si è verificato nuovamente su Magento 2.1.4. Mi ero completamente dimenticato di come l'ho riparato allora, quindi questa volta sto documentando la mia risposta qui nel caso qualcuno ne abbia bisogno.

Dichiarazione problema

Fondamentalmente, stavi configurando il tuo negozio Magento 2.1, soddisfacendo tutti i requisiti del server, aggiungendo SSL, impostando il tuo sito Web, Store e Store View e riempiendo la configurazione del negozio solo per rendersi conto che improvvisamente non puoi più accedere al pannello di amministrazione. Non ci sono errori, niente nella console del browser, né alcun problema con il browser Chrome / Firefox. Cancella le sessioni e memorizza nella cache inutilmente. Hai trovato risposte che rimandano a sessioni e impostazioni della cache, ma hai seguito la documentazione e non funziona ancora.


prima pubblica la domanda, poi in basso fai clic su Rispondi alla tua risposta e aggiungi la risposta.
Qaisar Satti,

Fatto. Ho aggiunto la risposta ufficiale in fondo come da tua richiesta.
Mubashar Aftab,

Risposte:


26

Emergenza

Se questa soluzione funziona o meno, prova prima questi passaggi. Sarai in grado di accedere, il che significa che sei sulla pagina giusta. Se non riesci ancora ad accedere, il tuo problema è probabilmente diverso da quello che sto postando, procedi a tuo rischio.

  • Vai al tuo database. Se hai phpMyAdmin, procedi come segue:
  • Fai clic sulla xxx_core_config_datatabella (xxx_ è il prefisso della tabella aggiuntiva che potresti aver impostato durante l'installazione)
  • Una volta selezionata la tabella, fai clic sulla scheda "Cerca" sul lato destro
  • Nel menu di ricerca, in "percorso", seleziona il menu a discesa (LIKE% ...%) e inserisci "cookie" nel campo accanto. Ciò cercherà tutte le righe della tabella che contengono "cookie" nel loro valore di percorso.
  • Elimina il VALORE di quanto segue (se non ne vedi alcuni, ignoralo. Potrebbe non essere stato ancora impostato, quindi puoi ometterlo):
    • web/cookie/cookie_domain
    • web/cookie/cookie_httponly
    • web/cookie/cookie_lifetime
    • web/cookie/cookie_path

Questo è tutto. Ora aggiorna la tua pagina di amministrazione e prova ad accedere. Dovrebbe funzionare. Se lo fa, ora arriviamo al nocciolo del problema.

Il problema

Il più delle volte, seguendo la guida ci chiede di memorizzare il dominio dei cookie come .domain.com che si aspetta un sottodominio, ma il nome del negozio viene archiviato come http://domain.comURL di base.

La correzione

Esistono due modi per risolvere questo problema.

Se non si intende utilizzare un sottodominio per l'archiviazione dei cookie, è possibile salvare le impostazioni del dominio dei cookie in Negozi -> Configurazione -> Web -> Dominio cookie come (dominio.com) senza un periodo e parentesi precedenti.

Se prevedi di rendere il tuo negozio pronto per il futuro e consentire l'archiviazione dei cookie del sottodominio, dovresti impostare Cookie Domain come ( .domain.com) con un periodo precedente e senza parentesi. Tuttavia, nell'URL di base in Stores -> Configuration -> Web -> Base URL, aggiungi wwwal tuo nome di dominio come http://www.domain.come httpsnell'URL di base sicuro se stai utilizzando SSL (che dovresti).

Inoltre, altre impostazioni dei cookie sono le seguenti: Cookie Lifetime- 86400 (da quanto ho capito, non è necessario e puoi lasciarlo in bianco e controllare "usa valore di sistema" perché ora Magento mantiene la sessione per motivi di sicurezza). Cookie Path- / Use HTTP Only- Sì Cookie Restriction Mode- A te. Se lo abiliti, mostrerà il messaggio sul front-end che richiede il consenso dell'utente alla memorizzazione dei cookie.

Nota: ancora una volta, questo è per i miei futuri scopi di riferimento e per chiunque possa incappare in questa frustrazione proprio come ho fatto io.


Mi hai salvato la giornata! Grazie! Stavo sospettando problemi con le impostazioni della modalità di limitazione dei cookie che ho effettuato l'ultima volta, quindi il problema si è rivelato essere il valore del dominio dei cookie impostato su ".domain.com". Ho modificato il valore dal database web / cookie / cookie_domain a "domain.com" e sono stato in grado di accedere correttamente all'area di amministrazione.
Iveta Allogenes,

1

Soluzione rapida:

Aggiungi o aggiorna le voci dell'URL Web a https: // URL sicuri per le voci di configurazione seguenti nel database

Nella tabella> core_config_dataimposta il valore seguente per il tuo negozio:

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

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


1

L'ho sperimentato dopo aver impostato un nuovo progetto precedentemente realizzato dagli altri sviluppatori. Da parte mia, è così che ho risolto questo problema.

Nella core_config_datatabella ho cercato il percorso web/cookie/cookie_domain. E poi ho scoperto che il dominio non è lo stesso con il dominio del progetto corrente. Quindi l'ho appena cambiato per essere lo stesso dell'attuale dominio del progetto. E poi, il login dell'amministratore funziona.


0

Poco dopo l'installazione di Magento, se si verificano i problemi seguenti: a. L'amministratore non è in grado di accedere dopo una corretta installazione b. Magento2: errore 404 non trovato nella pagina di accesso dell'amministratore di magento2 dopo un'installazione corretta. c. I collegamenti nella pagina di amministrazione non funzionano.

Eseguire i passaggi seguenti

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

Questo dovrebbe risolvere il problema

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.