Resolvido - Magento 2 - Não foi possível fazer o login no admin (sem mensagem de erro) preso na tela de login


15

Esta não é uma pergunta, mas uma resposta a um problema que é bastante antigo, mas recorrente. Lembro-me de ter lutado com isso nos dias em que estava configurando o Magento 1.9 e isso ocorreu novamente desta vez no Magento 2.1.4. Eu esqueci completamente como consertei na época, então desta vez estou documentando minha resposta aqui, caso alguém precise dela também.

Declaração do Problema

Basicamente, você estava configurando sua loja Magento 2.1, cumpriu todos os requisitos do servidor, adicionou SSL, configurou seu site, armazenou e visualizou e preencheu a configuração da loja apenas para perceber que, de repente, não é mais possível fazer login no painel de administração. Não há erros, nada no console do navegador, nem qualquer problema com o navegador Chrome / Firefox. Você limpa as sessões e o cache sem sucesso também. Você encontrou respostas que continuam apontando para as sessões e as configurações de cache, mas seguiu a documentação e ela ainda não funciona.


primeiro publique a pergunta e, em seguida, clique em Responda a sua resposta e adicione a resposta deles.
Qaisar Satti

Entendi. Eu adicionei a resposta oficial na parte inferior conforme seu pedido.
Mubashar Aftab

Respostas:


25

Correção de emergência

Se esta solução funciona ou não, tente primeiro estas etapas. Você poderá fazer login, o que significa que está na página correta. Se você ainda não conseguiu fazer o login, é provável que seu problema seja diferente do que estou postando, por sua conta e risco.

  • Vá para o seu banco de dados. Se você possui o phpMyAdmin, faça o seguinte:
  • Clique na sua xxx_core_config_datatabela (xxx_ é o prefixo da tabela adicional que você pode ter definido durante a instalação)
  • Depois que a tabela for selecionada, clique na guia "Pesquisar" no lado direito
  • No menu de pesquisa, em "caminho", selecione o menu suspenso para (LIKE% ...%) e insira "cookie" no campo ao lado. Isso procurará todas as linhas da tabela que contenham "cookie" no valor do caminho.
  • Exclua o VALUE do seguinte (se você não vir alguns deles, apenas ignore. Ele ainda não foi configurado, portanto, você pode omiti-lo):
    • web/cookie/cookie_domain
    • web/cookie/cookie_httponly
    • web/cookie/cookie_lifetime
    • web/cookie/cookie_path

É isso aí. Agora, atualize sua página de administrador e tente fazer login. Deve funcionar. Se isso acontecer, agora vamos ao cerne do problema.

O problema

Na maioria das vezes, seguir o guia solicita que armazenemos o domínio do cookie como .domain.com, que espera um subdomínio, mas o nome da loja é armazenado como http://domain.comURL base.

O conserto

Existem duas maneiras de corrigir esse problema.

Se você não estiver usando um subdomínio para armazenamento de cookies, poderá salvar as configurações de domínio de cookies em Lojas -> Configuração -> Web -> Domínio de Cookies como (domain.com) sem um período e parênteses anteriores.

Se você planeja tornar sua loja pronta para o futuro e permitir armazenamento de cookies de subdomínio, defina o Domínio de Cookies como ( .domain.com) com um período anterior e sem parênteses. No entanto, em seu URL base em Stores -> Configuration -> Web -> Base URL, adicione wwwao seu nome de domínio, como http://www.domain.come httpsno URL base seguro, se você estiver usando SSL (você deve).

Além disso, outras configurações de cookies são as seguintes: Cookie Lifetime- 86400 (pelo que entendi, você não precisa disso e pode deixá-lo em branco e marcar "usar valor do sistema" porque agora o Magento mantém a sessão por motivos de segurança). Cookie Path- / Use HTTP Only- Sim Cookie Restriction Mode- Depende de você. Se você habilitar isso, ele mostrará a mensagem no front-end, solicitando o consentimento do usuário para armazenar cookies.

Nota: Mais uma vez, este é para meus próprios fins de referência futuros e para qualquer um que possa tropeçar nessa frustração exatamente como eu.


Salvou o meu dia! Obrigado! Eu suspeitava de problemas com as configurações do modo de restrição de cookies que fiz da última vez; portanto, o problema acabou sendo o valor do domínio do cookie definido como ".domain.com". Alterei o valor do banco de dados web / cookie / cookie_domain para "domain.com" e consegui efetuar login na área de administração com sucesso.
Iveta Allogenes

1

Conserto rápido:

Adicione ou atualize entradas de URL da Web em https: // URLs seguros para as entradas de configuração abaixo no banco de dados

Em Tabela> core_config_datadefina o valor abaixo para sua loja:

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

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


1

Eu experimentei isso depois de configurar um novo projeto feito anteriormente pelos outros desenvolvedores. Do meu lado, foi assim que eu consertei isso.

Na core_config_datatabela, procurei o caminho web/cookie/cookie_domain. E então descobrimos que o domínio não é o mesmo que o domínio do projeto atual. Então, mudei para o mesmo domínio do projeto atual. E depois disso, o login do administrador funciona.


0

Logo após a instalação do Magento, se você estiver executando os seguintes problemas: a. O administrador não pode fazer login após a instalação bem-sucedida b. Magento2: Erro 404 não encontrado na página de login do magento2 admin após a instalação bem-sucedida. c. Os links na página de administração não estão funcionando.

Execute as etapas abaixo

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

Isso deve corrigir o problema

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.