Як скинути втрачений пароль адміністратора в Magento 2?


42

Я намагався скинути пароль адміністратора через Phpmyadmin в таблиці admin_user, але це, здається, не працює. Також на chrome я отримую помилку "Ця веб-сторінка має цикл переспрямування" під час завантаження сторінки адміністратора.


1
Що стосується переспрямувань, переконайтеся, що якщо у вас увімкнено xdebug, то він є xdebug.max_nesting_level=200у вашому php.ini. Якщо його не встановлено, можливо, ви бачите сторінку входу адміністратора (оскільки рівень вкладеності менший ніж 100 за замовчуванням на цій сторінці), але коли ви вводите облікові дані та намагаєтесь увійти, панель інструментів не може бути виведена (рівень вкладеності більше, ніж за замовчуванням 100 там). Також не забудьте використовувати якийсь віртуальний хост, а не "localhost", щоб уникнути проблем із cookie.
Олексій Паляруш

Значки / стиль приладної панелі не завантажувались / відображалися належним чином, це буде пов’язано з xdebug? Чи можете ви поділитися тим, як правильно встановити xdebug на php.ini
Dev

Просто додайте xdebug.max_nesting_level=200до конфігурації php.ini, якщо у вас увімкнено XDebug.
Олексій Паляруш


ця відповідь повинна допомогти magento.stackexchange.com/a/137562/27907 та генерувати хешований пароль, ви можете використовувати xorbin.com/tools/sha256-hash-calculator
wk

Відповіді:


88

Ви можете використовувати Magento CLI для створення нового адміністратора з наступною командою, після чого ви можете перейти та змінити пароль свого початкового користувача.

Виконайте це з кореня вашої установки magento:

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

Жодного іншого шляху без CLI? Я спробував це зробити, встановивши Magerun на моїй машині (я новачок у CLI). Моя команда, як нижче, '<path_to_magento> php bin / magento admin: user: create [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-Firstname =" Дейв "] [--admin-LastName =" maritus "]»
Dev

1
Шлях до magento повинен йти перед "bin / magento", а не перед php. Також видаліть квадратні дужки з фактичної команди.
Олексій Паляруш

Користувач адміністратора успішно створений, я використовував дані, створені для входу в інформаційну панель, але це не працює, залишайтеся на одній сторінці входу.
Dev

4
тільки бог знає, чому вони поставили туди квадратні дужки ...
MagenX

1
@MagenX - Квадратні дужки є звичайним способом повідомлень довідки команди, щоб сказати вам, що ці аргументи необов’язкові . Це досить стандартний на насправді .
nevvermind

29

Виконайте нижче запиту, щоб направити базу даних.

Приклад - скидання пароля для користувача адміністратора .

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

NewPassword : замініть його своїм паролем.

Сподіваюся, це спрацює для вас. Повідомте мене, якщо у вас виникнуть труднощі.


FYI; CONCAT і сіль не потрібні. v. 2.1.7
simonthesorcerer

Не працював у Magento 2.3, потребує солі тощо
Qtax

1
також остерігайтеся поля "lock_expires", якщо ви повторили спробували той самий неправильний пароль ...
KolonUK

15

Не повинно бути рівних знаків або квадратних дужок, як це:

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

Це єдиний, хто працював на мене
jfoutch

10

Виконайте такі запити SQL, щоб скинути пароль адміністратора:

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

Єдиним способом я міг обійти вимоги до пароля в Magento 2.3, щоб мати можливість встановити простий пароль адміністратора для розробки. n98-magerun23.0.4 не дозволив уникнути вимог пароля адміністратора.
Qtax

Працював у Magento 2.2.5, а також встановив "lock_expires" на NULL
KolonUK

9

Існує дуже приємний інструмент під назвою N98-Magerun

По суті, ви безпосередньо завантажуєте його в корінь свого проекту Magento

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

Далі встановіть виконавчі дозволи (лише для користувачів UNIX)

chmod +x ./n98-magerun2.phar

Тепер, коли ти біжиш

php n98-magerun2.phar

Ви отримаєте список усіх доступних команд, запропонованих інструментом.

Тепер для скидання забутого пароля користувача адміністратора спочатку нам потрібно отримати ім’я користувача адміністратора, щоб ми могли запустити

php n98-magerun2.phar admin:user:list

Це надасть вам список усіх доступних користувачів адміністратора, вихід буде виглядати приблизно так

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

Тепер для скидання пароля, який ми робимо

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

Вам буде запропоновано ім’я користувача адміністратора та новий пароль для цього користувача.

Username:admin
Password:123456
Password successfully changed

Сподіваюсь, це допомагає.


Не вдалося запустити це на моєму тестовому сервері Bitnami - SQL був єдиним способом для мене.
KolonUK

4

Я ненавиджу згадувати довгий рядок бін / магенто ...

Ось рішення для тих, хто доторкнеться:

помістіть цей код у pub / index.php

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

Подивіться на колонтитул будь-якої сторінки: введіть тут опис зображення

Скопіюйте цей код та перейдіть до phpmyadmin:

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

До речі. Це запитання про скидання пароля, якщо ви використовуєте admin: user: create it do reset or create but Uhm ... Не зовсім.


2
Це справді не було б безпечно зробити на відкрито відкритому веб-сайті ... Ви також можете завантажити n98-magerun2 та запустити n98-magerun2.phar dev:consoleта виконати код там: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");або просто скористатисяn98-magerun2.phar admin:user:change-password
7ochem

2

Посилаючись на відповідь Алекса, він працює з невеликою модифікацією. Вам потрібно перейти в папку встановлення M2, а потім запустити код нижче:

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

Вам не потрібно /перед binпапкою, але вам потрібна phpкоманда перед усім "реченням".

Покоління пропуску працювало на мене, але адміністраторська сторінка мене не входила: /


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'

Я відредагував своє запитання. що робити, якщо ми втратили пароль.
Dev

0

Просто відкрийте доступ до вашої бази даних та натисніть на наступний запит

UPDATE admin_user SET password = CONCAT (SHA2 ('yournewpassword', 256), ': xxxxxxx: 1') WHERE username = 'yourusername';

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.