Как сбросить утерянный пароль администратора в Magento 2?

42

Я попытался сбросить пароль администратора через Phpmyadmin в таблице admin_user, но это, похоже, не работает. Также на Chrome я получаю сообщение об ошибке «Эта веб-страница имеет цикл перенаправления» при загрузке страницы администратора.

Dev
источник
1
Что касается перенаправлений, убедитесь, что если у вас включен xdebug, то он есть xdebug.max_nesting_level=200в вашем php.ini. Если он не задан, возможно, вы видите страницу входа администратора (потому что уровень вложенности на этой странице меньше 100 по умолчанию), но когда вы вводите учетные данные и пытаетесь войти, панель мониторинга не может быть обработана (уровень вложенности больше, чем по умолчанию). 100 там). Также убедитесь, что вы используете виртуальный хост, а не "localhost", чтобы избежать проблем с куки.
Алекс Палиаруш
Значки / стиль панели инструментов не были загружены / отображены должным образом. Это будет из-за 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: пользователь: create [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] '
Dev
1
Путь к magento должен идти до «bin / magento», а не до php. Также удалите квадратные скобки из фактической команды.
Алекс Палиаруш
Пользователь-администратор успешно создан, я использовал данные, созданные для входа в панель управления, но она не работает, оставайтесь на той же странице входа.
Дев
4
только бог знает, почему они поставили там квадратные скобки ...
MagenX
1
@MagenX - Квадратные скобки - это обычный способ получения справочных сообщений команды, чтобы сообщить вам, что эти аргументы являются необязательными . Это довольно стандартно на самом деле .
nevvermind
29

Запустите запрос ниже, чтобы направить базу данных.

Пример для сброса пароля для администратора .

ОБНОВЛЕНИЕ admin_user SET `пароль` = SHA2 (' NewPassword ', 256) WHERE` username` = ' admin ';

Новый пароль: замените его своим паролем.

Я надеюсь, что это будет работать для вас. Дайте мне знать, если у вас возникнут трудности.

Суреш Чикани
источник
FYI; КОНКАТ и соль не нужны. v. 2.1.7
simonthesorcerer
Не работал для Magento 2.3, нуждается в соли и т. Д.
Qtax
1
также, остерегайтесь поля «lock_expires», если вы повторили
попытку, используя
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: создать, сделать сброс или создать, но ... Не совсем.

Кристиан Нгуен
источник
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'
Гопал Кача
источник
Я отредактировал свой вопрос. Что делать, если мы потеряли пароль.
Дев
0

Просто откройте доступ к базе данных и нажмите на запрос ниже

ОБНОВЛЕНИЕ admin_user SET password = CONCAT (SHA2 ('yournewpassword', 256), ': xxxxxxx: 1') WHERE username = 'yourusername';

Zuber Bandi
источник