¿Cómo restablecer la contraseña de administrador perdida en Magento 2?


42

Traté de restablecer la contraseña de administrador a través de Phpmyadmin en la tabla admin_user pero parece que esto no funciona. También en Chrome aparece el error "Esta página web tiene un bucle de redireccionamiento" al cargar la página de administración.


1
Con respecto a las redirecciones, asegúrese de que si tiene xdebug habilitado, entonces hay xdebug.max_nesting_level=200en su php.ini. Si no está configurado, es posible que vea la página de inicio de sesión de administrador (porque el nivel de anidación es inferior al predeterminado 100 en esa página), pero cuando ingresa las credenciales e intenta iniciar sesión, el tablero no se puede representar (el nivel de anidación es mayor que el predeterminado 100 allí). También asegúrese de utilizar algún host virtual, no "localhost", para evitar problemas con las cookies.
Alex Paliarush

Los íconos / estilo del tablero no se cargaron / representaron correctamente ¿Esto se debe a xdebug? ¿Puedes compartir cómo configurar xdebug en php.ini correctamente
Dev

Simplemente agregue xdebug.max_nesting_level=200a su configuración php.ini si tiene XDebug habilitado.
Alex Paliarush


esta respuesta debería ayudar a magento.stackexchange.com/a/137562/27907 y para generar la contraseña hash puede usar xorbin.com/tools/sha256-hash-calculator
wk

Respuestas:


88

Puede usar la CLI de Magento para crear un nuevo usuario administrador con el siguiente comando, luego puede ir y cambiar la contraseña de su usuario original.

Ejecute esto desde la raíz de su instalación de magento:

php bin/magento admin:user:create --admin-user="admin" --admin-password="123123q" --admin-email="admin@example.com" --admin-firstname="Admin" --admin-lastname="Admin"

No hay otra manera sin CLI? Traté de hacerlo instalando Magerun en mi máquina (soy novato en CLI). Mi comando es como a continuación, '<path_to_magento> php bin / magento admin: usuario: create [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] '
Dev

1
La ruta a magento debe ir antes de "bin / magento", no antes de php. También elimine los corchetes del comando real.
Alex Paliarush

Usuario administrador creado con éxito, utilicé los detalles creados para iniciar sesión en el tablero pero no funciona, permanezca en la misma página de inicio de sesión.
Dev

44
solo dios sabe por qué pusieron corchetes allí ...
MagenX

1
@MagenX: los corchetes son una forma convencional de mensajes de ayuda de un comando para indicarle que esos argumentos son opcionales . Es bastante estándar en realidad .
nevvermind

29

Ejecute la consulta a continuación para dirigir la base de datos.

Un ejemplo es para restablecer contraseña para el usuario administrador .

ACTUALIZACIÓN admin_user SET `contraseña` = SHA2 (' NewPassword ', 256) DONDE` username` = ' admin ';

Contraseña nueva : reemplácela con su contraseña.

Espero que funcione para ti. Avísame si tienes alguna dificultad.


FYI; el CONCAT y la sal no son necesarios. v. 2.1.7
simonthesorcerer

No funcionó para Magento 2.3, necesita sal, etc.
Qtax

1
también, tenga cuidado con el campo "lock_expires" si ha repetido la misma contraseña incorrecta ...
KolonUK

15

No debe haber signos iguales o corchetes 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

Este es el único que funcionó para mí
jfoutch

10

Ejecute las siguientes consultas SQL para restablecer la contraseña de administrador:

SET @salt = MD5(UNIX_TIMESTAMP());
UPDATE admin_user SET password = CONCAT(SHA2(CONCAT(@salt, 'MyNewPassword'), 256), ':', @salt, ':1') WHERE username = 'admin';

Era la única forma en que podía sortear los requisitos de contraseña en Magento 2.3, para poder establecer una contraseña de administrador simple para el desarrollo. n98-magerun23.0.4 no permitió que uno evitara los requisitos de contraseña de administrador.
Qtax

Trabajó en Magento 2.2.5, además de configurar "lock_expires" en NULL
KolonUK

9

Hay una herramienta muy buena llamada N98-Magerun

Básicamente, lo descarga directamente a la raíz de su proyecto Magento

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

Siguiente conjunto de permisos ejecutables (solo para usuarios de UNIX)

chmod +x ./n98-magerun2.phar

Ahora cuando corres

php n98-magerun2.phar

Obtendrá una lista de todos los comandos disponibles que ofrece la herramienta.

Ahora, para restablecer una contraseña de usuario administrador olvidada, primero necesitamos obtener el nombre de usuario del usuario administrador, para poder ejecutar

php n98-magerun2.phar admin:user:list

Esto le proporcionará una lista de todos los usuarios administradores disponibles, la salida se verá algo así

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

Ahora para restablecer la contraseña que hacemos

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

Se le solicitará el nombre de usuario del usuario administrador y una nueva contraseña para ese usuario.

Username:admin
Password:123456
Password successfully changed

Espero que esto ayude.


No se pudo ejecutar esto en mi servidor de prueba de Bitnami: SQL era la única forma de hacerlo.
KolonUK

4

Odio recordar la cadena larga bin / magento ...

Aquí hay una solución para cualquiera que le guste tocar:

pon este código en pub / index.php

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

Mira el pie de página de cualquier página: ingrese la descripción de la imagen aquí

Copie ese código y vaya a phpmyadmin:

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

Por cierto. Esta es una pregunta de restablecimiento de contraseña si usa admin: usuario: créelo, restablezca o cree pero Uhm ... No exactamente.


2
Esto no sería realmente seguro hacerlo en un sitio web abierto públicamente ... También puede descargar n98-magerun2 y ejecutar n98-magerun2.phar dev:consoley ejecutar el código allí: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");o simplemente usarn98-magerun2.phar admin:user:change-password
7ochem

2

En referencia a la respuesta de Alex, funciona con una pequeña modificación. Debe navegar en la carpeta de instalación de M2, luego ejecutar el siguiente código:

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

No necesita /antes de la bincarpeta, pero necesita un phpcomando antes de toda la "oración".

La generación de pases funcionó para mí, pero la página de administración no me conectó: /


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'

He editado mi pregunta. ¿Qué pasa si lo hacemos cuando se pierde una contraseña?
Dev

0

Simplemente abra el acceso a su base de datos y presione la consulta a continuación

ACTUALIZAR admin_user SET contraseña = CONCAT (SHA2 ('yournewpassword', 256), ': xxxxxxx: 1') WHERE username = 'yourusername';

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.