Как сбросить потерянный пароль администратора в Magento 2?
Я попытался сбросить пароль администратора через Phpmyadmin в таблице admin_user, но это, похоже, не работает. Также в chrome я получаю ошибку "На этой веб-странице есть цикл перенаправления" при загрузке страницы администратора.
10 answers
Вы можете использовать интерфейс командной строки Magento для создания нового пользователя-администратора с помощью следующей команды, затем вы можете пойти и изменить пароль своего первоначального пользователя.
Выполните это из корневого каталога вашей установки magento:
php bin/magento admin:user:create --admin-user="admin" --admin-password="123123q" --admin-email="[email protected]" --admin-firstname="Admin" --admin-lastname="Admin"
Выполните приведенный ниже запрос к прямой базе данных.
Пример для сброса пароля для администратора пользователя.
ОБНОВИТЬ набор администраторов_пользователя `пароль`=SHA2('Новый пароль', 256), ГДЕ `имя пользователя`='администратор';
Новый пароль: Замените его своим паролем.
Я надеюсь, что это сработает для вас. Дайте мне знать, если у вас возникнут какие-либо трудности.
Выполните следующие SQL-запросы, чтобы сбросить пароль администратора:
SET @salt = MD5(UNIX_TIMESTAMP());
UPDATE admin_user SET password = CONCAT(SHA2(CONCAT(@salt, 'MyNewPassword'), 256), ':', @salt, ':1') WHERE username = 'admin';
Не должно быть знаков равенства или квадратных скобок, подобных этому:
php bin/magento admin:user:create --admin-user mys_username --admin-password mypass123 --admin-email [email protected] --admin-firstname john --admin-lastname cage
Существует очень хороший инструмент под названием 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 | [email protected] | active |
| 2 | nextadmin | [email protected] | active |
+----+-----------------+-------------------------------+--------+
Теперь, чтобы сбросить пароль, мы делаем
php n98-magerun2.phar admin:user:change-password
Вам будет предложено ввести имя пользователя администратора и новый пароль для этого пользователя.
Username:admin
Password:123456
Password successfully changed
Надеюсь, это поможет.
Я ненавижу вспоминать длинную строку bin/magento...
Вот решение для тех, кто любит прикасаться:
Вставьте этот код в 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:пользователь: создайте его, сбросьте или создайте, но..... Не совсем так.
Ссылаясь на ответ Алекса, он работает с небольшой модификацией. Вам нужно перейти в папку установки M2, а затем выполнить следующий код:
php bin/magento admin:user:create --admin-user=admin --admin-password=admin123 [email protected] --admin-firstname=admin --admin-lastname=admin
Вам не нужно /
перед папкой bin
, но вам нужна команда php
перед всем "предложением".
Генерация пропусков работала для меня, но на странице администратора я не был зарегистрирован:/
Из Magento 2.3 вы можете использовать следующее
UPDATE admin_user SET password = CONCAT(SHA2('[salt]NewPassword', 256), ':[salt]:1') WHERE username = 'admin';
А для соли вы можете получить ее из app/etc/env.php
'crypt' => [
'key' => 'f6fcdcc54d85d8a2f2a87a2ae0a062e9'
],
ИЛИ
Если у вас работают электронные письма, используйте опцию забыть пароль на экране входа администратора
1. login to magento 2 admin.
2. Go to system > All Users.
3. Select your User
4. reset password from 'User Info' > 'Account Information'
Просто откройте доступ к базе данных и вызовите следующий запрос:
UPDATE admin_user
SET password = CONCAT(SHA2('yournewpassword', 256), ':xxxxxxx:1')
WHERE username = 'yourusername';