Como redefinir a senha de administrador perdida no Magento 2?

42

Tentei redefinir a senha do administrador via Phpmyadmin na tabela admin_user, mas isso não parece funcionar. Também no chrome, estou recebendo o erro "Esta página da web tem um loop de redirecionamento" ao carregar a página de administrador.

Dev
fonte
1
Em relação aos redirecionamentos, verifique se o xdebug está ativado, existe xdebug.max_nesting_level=200o arquivo php.ini. Se não estiver definido, é possível que você veja a página de login do administrador (porque o nível de aninhamento é inferior ao padrão 100 nessa página), mas quando você insere credenciais e tenta efetuar login, o painel não pode ser renderizado (o nível de aninhamento é mais do que o padrão 100 lá). Além disso, certifique-se de usar algum host virtual, não "localhost", para evitar problemas com os cookies.
Alex Paliarush
Os ícones / estilos do painel não foram carregados / renderizados corretamente. Isso ocorre devido ao xdebug? Você pode compartilhar como xdebug configuração no php.ini corretamente
Dev
Basta adicionar xdebug.max_nesting_level=200à sua configuração do php.ini se você tiver o XDebug ativado.
Alex Paliarush
esta resposta deve ajudar magento.stackexchange.com/a/137562/27907 e para gerar a senha com hash, você pode usar xorbin.com/tools/sha256-hash-calculator
wk

Respostas:

88

Você pode usar o Magento CLI para criar um novo usuário administrador com o seguinte comando e alterar a senha do seu usuário original.

Execute isso a partir da raiz da sua instalação do magento:

php bin/magento admin:user:create --admin-user="admin" --admin-password="123123q" --admin-email="[email protected]" --admin-firstname="Admin" --admin-lastname="Admin"
Alex Paliarush
fonte
De outra maneira sem CLI? Tentei fazer isso instalando o Magerun na minha máquina (sou novato na CLI). Meu comando é como abaixo: '<path_to_magento> php bin / magento admin: user: create [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] ''
Dev
1
O caminho para o magento deve ir antes de "bin / magento", não antes do php. Também remova colchetes do comando real.
Alex Paliarush
Usuário administrador criado com sucesso, usei os detalhes criados para acessar o painel, mas ele não funciona, permaneça na mesma página de login.
Dev
4
Só Deus sabe por que eles colocar colchetes lá ...
MagenX
1
@MagenX - colchetes são uma maneira convencional de mensagens de ajuda de um comando para dizer que esses argumentos são opcionais . Na verdade, é bastante padrão .
nevvermind
29

Execute a consulta abaixo para direcionar o banco de dados.

Um exemplo é para redefinir a senha do usuário administrador .

UPDATE admin_user SET `senha` = SHA2 (' NewPassword ', 256) WHERE` nome de usuário` = ' admin ';

NewPassword : substitua-o por sua senha.

Espero que funcione para você. Deixe-me saber se você tiver alguma dificuldade.

Suresh Chikani
fonte
PARA SUA INFORMAÇÃO; o CONCAT e o sal não são necessários. v. 2.1.7
simonthesorcerer 7/17
Não funcionou para Magento 2.3, precisa de sal, etc.
Qtax 07/02
1
Além disso, cuidado com o campo "lock_expires" se você repetiu a mesma senha errada ...
KolonUK 12/02
15

Não deve haver sinais de igual ou colchetes como este:

php bin/magento admin:user:create --admin-user mys_username --admin-password mypass123 --admin-email my@email.com --admin-firstname john --admin-lastname cage
Claudiu Creanga
fonte
Esta é a única que funcionou para mim
jfoutch
10

Execute as seguintes consultas SQL para redefinir a senha do administrador:

SET @salt = MD5(UNIX_TIMESTAMP());
UPDATE admin_user SET password = CONCAT(SHA2(CONCAT(@salt, 'MyNewPassword'), 256), ':', @salt, ':1') WHERE username = 'admin';
Jun Xie
fonte
Foi a única maneira de contornar os requisitos de senha no Magento 2.3, para poder definir uma senha de administrador simples para desenvolvimento. n98-magerun23.0.4 não permitiu evitar os requisitos de senha de administrador.
Qtax 07/02
Trabalhou no Magento 2.2.5, mais a configuração "lock_expires" como NULL
KolonUK
9

Existe uma ferramenta muito legal chamada N98-Magerun

Basicamente, você o baixa diretamente na raiz do seu projeto Magento

wget https://files.magerun.net/n98-magerun2.phar

Próximo conjunto de permissões executáveis ​​(apenas para usuários UNIX)

chmod +x ./n98-magerun2.phar

Agora, quando você corre

php n98-magerun2.phar

Você obterá uma lista de todos os comandos disponíveis oferecidos pela ferramenta.

Agora, para redefinir uma senha de usuário administrador esquecida primeiro, precisamos obter o nome de usuário do usuário administrador, para que possamos executar

php n98-magerun2.phar admin:user:list

Isso fornecerá uma lista de todos os usuários administrativos disponíveis; a saída será semelhante a

+----+-----------------+-------------------------------+--------+
| id | username        | email                         | status |
+----+-----------------+-------------------------------+--------+
| 1  | admin           | admin@example.com             | active |
| 2  | nextadmin       | nextadmin@example.com         | active |
+----+-----------------+-------------------------------+--------+

Agora, para redefinir a senha que fazemos

php n98-magerun2.phar admin:user:change-password

Você será solicitado a fornecer o nome de usuário do usuário administrador e a nova senha para esse usuário.

Username:admin
Password:123456
Password successfully changed

Espero que isto ajude.

Atish Goswami
fonte
Não foi possível executar isso no meu servidor de teste Bitnami - o SQL era o único caminho a seguir.
KolonUK
4

Eu odeio lembrar bin longo string / magento ...

Aqui está a solução para quem gosta de tocar:

coloque esse código em pub / index.php

\Magento\Framework\App\ObjectManager::getInstance()->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");

Veja o rodapé de qualquer página: insira a descrição da imagem aqui

Copie esse código e vá para phpmyadmin:

update admin_user set password = '<code above>' where username='admin';

Entre. Esta é uma pergunta de redefinição de senha se você usar admin: user: create it reset ou create but Uhm ... Não exatamente.

christian Nguyen
fonte
2
Isso não seria realmente seguro fazer em um site aberto ao público ... Você também pode baixar n98-magerun2 e executar n98-magerun2.phar dev:consolee executar o código lá: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");ou o uso apenasn98-magerun2.phar admin:user:change-password
7ochem
2

Referindo-se à resposta de Alex, funciona com uma pequena modificação. Você precisa navegar para a pasta de instalação do M2 e executar o código abaixo:

php bin/magento admin:user:create --admin-user=admin --admin-password=admin123 --admin-email=admin@magento.tld --admin-firstname=admin --admin-lastname=admin

Você não precisa /antes da binpasta, mas precisa de phpcomando antes de toda a "sentença".

A geração do passe funcionou para mim, mas a página de administração não estava conectada:

Takács Zsolt
fonte
0
 1. login to magento 2 admin.
 2. Go to system > All Users.
 3. Select your User
 4. reset password from 'User Info' > 'Account Information'
Gopal Kacha
fonte
Eu editei minha pergunta. what Se fizermos quando perdermos uma senha.
Dev
0

Basta abrir o acesso ao banco de dados e clicar na consulta abaixo

UPDATE admin_user SET password = CONCAT (SHA2 ('sua senha nova', 256), ': xxxxxxx: 1') WHERE nome do usuário = 'seu nome de usuário';

zuber bandi
fonte