Jak zresetować utracone hasło administratora w Magento 2?

42

Próbowałem zresetować hasło administratora za pomocą Phpmyadmin w tabeli admin_user, ale to nie działa. Również w Chrome pojawia się błąd „Ta strona ma pętlę przekierowania” podczas ładowania strony administratora.

Dev
źródło
1
Jeśli chodzi o przekierowania, upewnij się, że jeśli masz włączoną xdebug, to jest xdebug.max_nesting_level=200w twoim php.ini. Jeśli nie jest ustawiony, możliwe jest, że zobaczysz stronę logowania administratora (ponieważ poziom zagnieżdżenia jest mniejszy niż domyślny 100 na tej stronie), ale po wprowadzeniu poświadczeń i próbie logowania nie można renderować pulpitu nawigacyjnego (poziom zagnieżdżenia jest wyższy niż domyślny 100 tam). Upewnij się również, że używasz wirtualnego hosta, a nie „localhost”, aby uniknąć problemów z plikami cookie.
Alex Paliarush,
Ikony / styl deski rozdzielczej nie zostały poprawnie załadowane / renderowane, czy będzie to spowodowane xdebug? Czy możesz udostępnić, jak poprawnie skonfigurować xdebug na php.ini
Dev
Po prostu dodaj xdebug.max_nesting_level=200do konfiguracji php.ini, jeśli masz włączoną XDebug.
Alex Paliarush
ta odpowiedź powinna pomóc magento.stackexchange.com/a/137562/27907, a do wygenerowania zaszyfrowanego hasła można użyć xorbin.com/tools/sha256-hash-calculator
wk

Odpowiedzi:

88

Możesz użyć Magento CLI do utworzenia nowego użytkownika administratora za pomocą następującego polecenia, a następnie możesz przejść i zmienić hasło oryginalnego użytkownika.

Wykonaj to z katalogu głównego instalacji 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
źródło
Nie ma innej drogi bez CLI? Próbowałem to zrobić, instalując Magerun na moim komputerze (jestem nowicjuszem w CLI). Moje polecenie jest jak poniżej: „<ścieżka_do_magento> php bin / magento admin: użytkownik: tworzenie [--admin-user =" dave "] [--admin-password =" admin123 "] [--admin-email =" admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] '
Dev
1
Ścieżka do magento powinna iść przed „bin / magento”, a nie przed php. Usuń również nawiasy kwadratowe z rzeczywistego polecenia.
Alex Paliarush,
Administrator utworzony pomyślnie, użyłem szczegółów utworzonych do zalogowania się na pulpicie nawigacyjnym, ale to nie działa, pozostań na tej samej stronie logowania.
Dev
4
tylko bóg wie, dlaczego umieścili nawiasy kwadratowe ...
MagenX
1
@MagenX - Nawiasy kwadratowe to konwencjonalny sposób wyświetlania komunikatów pomocy polecenia informujących, że argumenty te są opcjonalne . Jest to dość standardowy faktycznie .
nevvermind,
29

Uruchom poniżej zapytania, aby skierować bazę danych.

Przykładem jest zresetowanie hasła dla administratora .

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

NoweHasło : Zastąp je swoim hasłem.

Mam nadzieję, że ci się uda. Daj mi znać, jeśli będziesz mieć trudności.

Suresh Chikani
źródło
Do twojej wiadomości; CONCAT i sól nie są potrzebne. w. 2.1.7
simonthesorcerer
Nie działał dla Magento 2.3, potrzebuje soli itp.
Qtax
1
również uważaj na pole „lock_expires”, jeśli powtórzyłeś to samo błędne hasło ...
KolonUK
15

Nie powinno być takich znaków równości ani nawiasów kwadratowych:

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
źródło
To był jedyny, który dla mnie
zadziałał
10

Uruchom następujące zapytania SQL, aby zresetować hasło administratora:

SET @salt = MD5(UNIX_TIMESTAMP());
UPDATE admin_user SET password = CONCAT(SHA2(CONCAT(@salt, 'MyNewPassword'), 256), ':', @salt, ':1') WHERE username = 'admin';
Jun Xie
źródło
Był to jedyny sposób, w jaki mogłem obejść wymagania dotyczące hasła w Magento 2.3, aby móc ustawić proste hasło administratora do programowania. n98-magerun23.0.4 nie pozwoliło uniknąć wymagań dotyczących hasła administratora.
Qtax
Pracowałem w Magento 2.2.5, a także ustawiłem „lock_expires” na NULL
KolonUK
9

Istnieje bardzo ładne narzędzie o nazwie N98-Magerun

Zasadniczo pobierasz go bezpośrednio do katalogu głównego projektu Magento

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

Następnie ustaw uprawnienia do plików wykonywalnych (tylko dla użytkowników UNIX)

chmod +x ./n98-magerun2.phar

Teraz kiedy biegniesz

php n98-magerun2.phar

Otrzymasz listę wszystkich dostępnych poleceń oferowanych przez narzędzie.

Teraz, aby najpierw zresetować zapomniane hasło administratora, musimy uzyskać nazwę użytkownika administratora, aby uzyskać możliwość uruchomienia

php n98-magerun2.phar admin:user:list

Spowoduje to wyświetlenie listy wszystkich dostępnych użytkowników administracyjnych, dane wyjściowe będą wyglądać mniej więcej tak

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

Teraz, aby zresetować hasło, robimy

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

Zostaniesz poproszony o podanie nazwy użytkownika administratora i nowego hasła dla tego użytkownika.

Username:admin
Password:123456
Password successfully changed

Mam nadzieję że to pomoże.

Atish Goswami
źródło
Nie udało mi się uruchomić tego na moim serwerze testowym Bitnami - SQL był dla mnie jedynym sposobem.
KolonUK
4

Nienawidzę pamiętać długiego sznurka bin / magento ...

Oto rozwiązanie dla każdego, kto lubi dotykać:

umieść ten kod w pub / index.php

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

Spójrz na stopkę anypage: wprowadź opis zdjęcia tutaj

Skopiuj ten kod i przejdź do phpmyadmin:

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

BTW. To jest pytanie o hasło resetowania, jeśli używasz admin: użytkownik: utwórz go zresetuj lub utwórz, ale Uhm ... Niezupełnie.

Christian Nguyen
źródło
2
Nie byłoby to tak naprawdę bezpieczne w publicznie otwartej witrynie ... Możesz także pobrać n98-magerun2 i uruchomić n98-magerun2.phar dev:consoletam kod: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");lub po prostu użyćn98-magerun2.phar admin:user:change-password
7ochem
2

Nawiązując do odpowiedzi Alexa, działa z niewielką modyfikacją. Musisz przejść do folderu instalacji M2, a następnie uruchomić poniższy kod:

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

Nie potrzebujesz /przed binfolderem, ale potrzebujesz phppolecenia przed całym „zdaniem”.

Generowanie przepustki działało dla mnie, ale strona administratora mnie nie zalogowała: /

Takács Zsolt
źródło
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
źródło
Zredagowałem swoje pytanie. co jeśli zrobimy, gdy stracimy hasło.
Dev
0

Wystarczy otworzyć dostęp do bazy danych i nacisnąć poniższe zapytanie

UPDATE admin_user SET hasło = CONCAT (SHA2 („twoje nowe hasło”, 256), „: xxxxxxx: 1”) GDZIE nazwa użytkownika = „twoja nazwa użytkownika”;

zuber bandi
źródło