Comment réinitialiser le mot de passe administrateur perdu dans Magento 2?


42

J'ai essayé de réinitialiser le mot de passe administrateur via Phpmyadmin dans la table admin_user mais cela ne semble pas fonctionner. Également sur chrome, le message d'erreur "Cette page Web comporte une boucle de redirection" s'affiche lors du chargement de la page d'administration.


1
En ce qui concerne les redirections, assurez-vous que si xdebug est activé, xdebug.max_nesting_level=200votre fichier php.ini en contient une. S'il n'est pas défini, il est possible que la page de connexion de l'administrateur s'affiche (le niveau d'imbrication étant inférieur à 100 par défaut sur cette page), mais lorsque vous saisissez les informations d'identification et essayez de vous connecter, le tableau de bord ne peut pas être rendu (le niveau d'imbrication est supérieur à celui par défaut). 100 là-bas). Veillez également à utiliser un hôte virtuel, et non "localhost", pour éviter les problèmes de cookies.
Alex Paliarush

Les icônes / styles de tableau de bord n'ont pas été chargés / restitués correctement Cela sera-t-il dû à xdebug? Pouvez-vous partager comment configurer correctement xdebug sur php.ini
Dev

Ajoutez simplement xdebug.max_nesting_level=200à votre configuration php.ini si vous avez activé XDebug.
Alex Paliarush


cette réponse devrait aider magento.stackexchange.com/a/137562/27907 et pour générer le mot de passe haché, vous pouvez utiliser xorbin.com/tools/sha256-hash-calculator
sem

Réponses:


88

Vous pouvez utiliser la CLI de Magento pour créer un nouvel utilisateur admin avec la commande suivante. Vous pouvez ensuite modifier le mot de passe de votre utilisateur d'origine.

Exécutez ceci à partir de la racine de votre installation 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"

Pas d'autre moyen sans CLI? J'ai essayé de le faire en installant Magerun sur ma machine (je suis novice en CLI). Ma commande est comme ci-dessous, '<path_to_magento> php bin / magento admin: utilisateur: créer [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] '
Dev

1
Le chemin vers magento devrait aller avant "bin / magento", pas avant php. Supprimez également les crochets de la commande actuelle.
Alex Paliarush

Utilisateur administrateur créé avec succès, j'ai utilisé les détails créés pour la connexion au tableau de bord, mais cela ne fonctionne pas, restez sur la même page de connexion.
Dev

4
Dieu seul sait pourquoi ils y ont mis des crochets ...
MagenX

1
@MagenX - Les crochets sont un moyen classique pour les messages d'aide d'une commande de vous indiquer que ces arguments sont facultatifs . C'est assez standard en fait .
Nevermind

29

Exécutez la requête ci-dessous pour diriger la base de données.

Un exemple est pour réinitialiser le mot de passe pour l' utilisateur admin .

UPDATE admin_user SET `password` = SHA2 (' NewPassword ', 256) WHERE` username` = ' admin ';

NewPassword : remplacez-le par votre mot de passe.

J'espère que cela fonctionnera pour vous. Faites-moi savoir si vous avez des difficultés.


FYI; le CONCAT et le sel n'est pas nécessaire. v. 2.1.7
simonthesorcerer

N'a pas fonctionné pour Magento 2.3, a besoin de sel, etc.
Taxe

1
aussi, méfiez-vous du champ "lock_expires" si vous avez répété plusieurs fois le même mauvais mot de passe ...
KolonUK

15

Il devrait y avoir aucun signe égal ou crochets comme ceci:

php bin/magento admin:user:create --admin-user mys_username --admin-password mypass123 --admin-email my@email.com --admin-firstname john --admin-lastname cage

C'est le seul qui a fonctionné pour moi
jfoutch

10

Exécutez les requêtes SQL suivantes pour réinitialiser le mot de passe administrateur:

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

C’était le seul moyen de contourner les exigences relatives aux mots de passe dans Magento 2.3: pouvoir définir un mot de passe administrateur simple pour le développement. n98-magerun23.0.4 ne permettait pas d’éviter les exigences du mot de passe administrateur.
Taxe le

Utilisation de Magento 2.2.5 et définition de "lock_expires" sur NULL
KolonUK

9

Il existe un très bel outil appelé N98-Magerun

En gros, vous le téléchargez directement à la racine de votre projet Magento

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

Définissez ensuite les autorisations exécutables (pour les utilisateurs UNIX uniquement)

chmod +x ./n98-magerun2.phar

Maintenant quand tu cours

php n98-magerun2.phar

Vous obtiendrez une liste de toutes les commandes disponibles offertes par l'outil.

Maintenant, pour réinitialiser un mot de passe d’utilisateur admin oublié, nous devons d'abord obtenir le nom d'utilisateur de cet utilisateur admin. Pour pouvoir l'exécuter,

php n98-magerun2.phar admin:user:list

Cela vous fournira une liste de tous les utilisateurs admin disponibles, le résultat ressemblera à quelque chose comme

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

Maintenant, pour réinitialiser le mot de passe que nous faisons

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

Vous serez invité à entrer le nom d'utilisateur de l'administrateur et le nouveau mot de passe de cet utilisateur.

Username:admin
Password:123456
Password successfully changed

J'espère que cela t'aides.


Je ne pouvais pas le faire fonctionner sur mon serveur de test Bitnami - SQL était la seule solution pour moi.
KolonUK

4

Je déteste me souvenir d'une longue chaîne bin / magento ...

Voici une solution pour tous ceux qui aiment toucher:

mettre ce code dans pub / index.php

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

Regardez le pied de page de anypage: entrez la description de l'image ici

Copiez ce code et accédez à phpmyadmin:

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

BTW. Ceci est une question de réinitialisation de mot de passe si vous utilisez admin: utilisateur: créez-le réinitialisez ou créez mais Uhm ... Pas exactement.


2
Cela ne serait pas vraiment sûr de le faire sur un site Web ouvert au public ... Vous pouvez également télécharger n98-magerun2 et exécuter n98-magerun2.phar dev:consoleet exécuter le code ici: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");ou tout simplement utilisern98-magerun2.phar admin:user:change-password
7ochem

2

En se référant à la réponse d'Alex, cela fonctionne avec une petite modification. Vous devez naviguer dans le dossier d'installation de M2, puis exécutez le code ci-dessous:

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

Vous n'avez pas besoin /avant le bindossier, mais vous avez besoin d'une phpcommande avant la "phrase" entière.

La génération de laissez-passer a fonctionné pour moi, mais la page d’administration ne m’a pas connecté: /


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'

J'ai modifié ma question. Que faire si on perd un mot de passe.
Dev

0

Ouvrez simplement votre accès à la base de données et cliquez sur la requête ci-dessous

UPDATE admin_user SET mot_de_passe = CONCAT (SHA2 ('votrene nouveau mot de passe', 256), ': xxxxxxx: 1') WHERE nom_utilisateur = 'nom_utilisateur';

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.