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.


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="admin@example.com" --admin-firstname="Admin" --admin-lastname="Admin"

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.


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

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';

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.


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.


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: /


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'

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”;

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.