после установки magento на моем локальном компьютере я забыл пароль администратора

после установки magento на моем локальном компьютере я забыл пароль администратора, который я дал. не могу войти в админку как сбросить пароль

Я прочитал эту статью http://www.atwix.com/magento/reset-admin-password-mysql/ но у меня это не работает. Или может быть я не понимаю этого

пожалуйста, помогите мне, я новичок в Magento


person Yavana    schedule 07.06.2013    source источник
comment
Вы нашли правильное значение для переменной salt?   -  person RST    schedule 07.06.2013
comment
Что вы не получаете в этой статье?   -  person Mufaddal    schedule 07.06.2013
comment
Я получил решение app/code/core/Mage/Core/Model/Session/Abstract/Varien.php, мы должны прокомментировать 89,90,91 строки   -  person Sujith Wayanad    schedule 07.06.2013
comment
не сработало @SujithWayanad   -  person ahnbizcad    schedule 27.04.2015


Ответы (14)


Go To :

1 - Войдите в PhpMyadmin.

2 - Перейти к базе данных Magento.

3 - Перейдите в таблицу admin_user и отредактируйте таблицу.

4 - введите «пароль» (который вы хотите) и выберите MD5 из раскрывающегося списка функций (важно).

Это работает как в последней версии CE, так и в EE (проверено в обеих последних версиях), нет необходимости в изменении основного файла.

person Mufaddal    schedule 07.06.2013
comment
Я пробовал, я думаю, что это работает после входа в систему. Я не получаю сообщение об ошибке, но страница снова перенаправляется на тот же логин, а не на страницу администратора. - person Yavana; 07.06.2013
comment
Если вы работаете на локальном компьютере с WAMP, закомментируйте все строки, имеющие отношение к $cookieParams, в app/code/core/Mage/Core/Model/Session/Abstract/Varien.php (для меня это строки с 88 по 108). с Magento EE 1.13) - person Emil Stewart; 08.06.2013
comment
Этот метод больше не работает в новой версии magentro. - person Tarmo Saluste; 07.07.2015
comment
@EmilStewart: Спасибо, это настоящий ответ. Работает нормально с новыми версиями. - person dipak_pusti; 06.08.2015

Это может оказаться хорошим ресурсом для чтения: http://www.magentocommerce.com/wiki/recover/resetting-admin-password

SELECT * FROM admin_user;

Затем найдите имя пользователя, которое вы хотите изменить, в предоставленном списке — «admin» в этом примере. Затем, чтобы обновить пароль, введите:

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username='admin';

«qX» будет изменен на то, что вы хотите, и то же самое касается «пароля».

person akkatracker    schedule 07.06.2013
comment
просто чтобы уточнить еще немного: qX будет солью, а пароль будет окончательным паролем. - person Enrique; 04.12.2013
comment
Важно отметить, что длина хеша увеличилась между версиями 1.8 и 1.9 в CE (предположительно с 1.3 до 1.4 в EE) с 2 символов (как в приведенном выше примере) до 32 символов. - person carbide20; 25.01.2015

В основном, когда мы устанавливаем сообщество Magento на наш локальный компьютер (XAMPP, WAMPP), похоже, что мы не можем войти в систему как администратор из бэкэнда. Система предложит нам ввести неправильный пароль, но это неправда.

Когда я столкнулся с этой проблемой, я попытался сбросить пароль следующим методом (в SQLyog).

UPDATE admin_user 
SET password=CONCAT(MD5('qXpassword'), ':qX') 
WHERE username='admin';

«Пароль» должен быть установлен на то, что вы хотите для своего нового пароля, а «qX» может быть любым случайным символом, который вам нравится.

Но мы все еще не можем войти в систему. Сначала я подумал, что это неправильный метод. В то время как пароль «admin» определенно был изменен. Но почему мы до сих пор не можем войти?

Возможно, мы ввели правильное имя пользователя и пароль, но все еще не можем войти в систему.

Используйте Notepad ++, чтобы открыть и отредактировать основной файл: app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в вашем каталоге magento и прокомментируйте следующие строки:

$cookieParams = array(
            'lifetime' => $cookie->getLifetime(),
            'path'     => $cookie->getPath() //,
            // 'domain'   => $cookie->getConfigDomain(),
            // 'secure'   => $cookie->isSecure(),
            // 'httponly' => $cookie->getHttponly()
        );

И попробуйте еще раз, вы должны войти в систему как администратор из бэкэнда.

Проблема в том, что Localhost или «127.0.0.1» не являются настоящими доменами, а браузеры позволяют хранить файлы cookie только в реальных доменах, поэтому вход в систему прекращается с неверным именем пользователя или паролем.

person John Yin    schedule 04.08.2014
comment
классно! Благодарность! я несколько раз менял и переустанавливал magento только для того, чтобы найти это решение. Черт! - person KD.; 20.03.2015
comment
Разве это плохо для производства? Вам нужно переключать эти комментарии между разработкой и производством? Есть ли более устойчивый способ? - person ahnbizcad; 27.04.2015
comment
Все еще не работает для меня. Мне просто отказывают в доступе. Когда это недопустимое имя или пароль, он сообщает мне это сообщение об ошибке, поэтому мои учетные данные верны, когда он говорит, что доступ запрещен. Где установить дополнительные разрешения? - person ahnbizcad; 27.04.2015
comment
Когда я прошел первоначальную настройку magento, я полагаю, что сделал пользователя-администратора, но теперь в таблице admin_user нет записей. Я добавил один вручную. Это все еще недействительно. Я обязательно использовал хеш-функцию md5 для поля пароля. Нужны ли другие поля? - person ahnbizcad; 27.04.2015
comment
Я использую MD5 без соли и меняю Varien.php, как вы, тогда он работает - person Duc Tran; 11.07.2015

Обычно я делаю это следующим образом:

Добавьте этот фрагмент в свой шаблон login.phtml app/design/adminhtml/default/default/template/login.phtml

Mage::getSingleton('core/session', array('name' => 'adminhtml'));
$user = Mage::getModel('admin/user')->loadByUsername('YOUR_USERNAME');
$session = Mage::getSingleton('admin/session');
$session->setUser($user);

Замените YOUR_USERNAME своим именем администратора. Перейдите на страницу входа (yourdomain.com/admin), теперь ваш сеанс администратора установлен. Когда вы снова зайдете на страницу входа, вы должны автоматически войти в систему. Теперь вы можете сбросить свой пароль в system > permissions > users.

Не забудьте удалить фрагмент из шаблона после входа в систему.

Возможно, это не лучший ответ, но он всегда работал для меня.

person Chris    schedule 07.06.2013
comment
Это лучший ответ с точки зрения того, чтобы не возиться с базой данных напрямую. - person Milind R; 06.03.2015
comment
@MilindR, как будто редактирование трудно запоминаемого, неясно расположенного файла с необходимостью знать DSL лучше? Редактирование базы данных гораздо более интуитивно понятно и требует меньше дополнительных знаний. - person ahnbizcad; 27.04.2015
comment
@ahnbizcad с точки зрения того, чтобы не возиться с базой данных напрямую - person Chris; 29.04.2015

Копаться в базе данных — ужасная идея, когда у вас под рукой целый фреймворк. Это правильный способ смены пароля администратора:

Создайте файл с именем reset-password.php и поместите его в корень сайта:

<?php

chdir(dirname(__FILE__));
require 'app/Mage.php';
Mage::app('admin')->setUseSessionInUrl(false);
umask(0);

$user = Mage::getModel('admin/user')
    ->load('admin', 'username')
    ->setNewPassword('mynewpassword')
    ->save();

Сделайте запрос на /reset-password.php в своем браузере, и платформа Magento должна обновить пароль для admin на mynewpassword.

person Saustrup    schedule 24.11.2014
comment
Я понятия не имею, ГДЕ поставить этот код. Расположение должно быть указано в корневом каталоге, а не в случайном предполагаемом базовом каталоге, который не упоминается. - person ahnbizcad; 27.04.2015
comment
и он говорит вам, нужно ли вам запускать его вручную или нет? Неа. - person ahnbizcad; 27.04.2015
comment
Как говорится в статье, начните с создания копии cron.php. - person Saustrup; 28.04.2015
comment
Обновлен ответ, чтобы отразить имя файла, местоположение и содержимое. - person Saustrup; 02.06.2015
comment
Это должен быть самый простой метод, и он работает с последней версией. Спасибо чувак! - person Binod Kalathil; 22.10.2015

Это решение работает для всех версий Magento.

Временно добавить это в конце index.php

$user = Mage::getModel('admin/user')->loadByUsername('your_username');
$user->setPassword('new_password');
$user->save();

И ваш новый_пароль был сохранен. Теперь удалите 3 строки в конце index.php.

Хорошего дня.

person BGuimberteau    schedule 19.08.2015
comment
Не работает. пароль меняется. Но логин не сделан - person Prashant Tapase; 19.08.2015

Если у вас есть доступ к phpMyAdmin, выполните следующие действия для сброса пароля.

Сначала откройте phpMyAdmin. Нажмите на имя вашей базы данных для Magento на боковой панели слева. Перейдите на вкладку SQL и введите в текстовое поле следующее:

UPDATE `admin_user` SET `password` = MD5('PASSWORD') WHERE `username` = 'USERNAME';

Вы захотите заменить значения, написанные с заглавной буквы, правильной информацией:

ИМЯ ПОЛЬЗОВАТЕЛЯ — пользователь, пароль которого вы собираетесь изменить. ПАРОЛЬ — новый пароль, который вы хотите использовать. Например, если бы мое имя пользователя было admin, и я хотел бы сбросить пароль на 123456, я бы сделал это:

UPDATE `admin_user` SET `password` = MD5('123456') WHERE `username` = 'admin';

Если вы не знаете имя пользователя, которого хотите обновить, вы можете увидеть всех пользователей, щелкнув ссылку admin_user на боковой панели, а затем выбрав вкладку «Обзор». Столбец имени пользователя содержит список доступных пользователей.

person Rizwan    schedule 17.02.2014

Чтобы сбросить пароль администратора, вам необходимо создать файл, вставить в него приведенный ниже код и загрузить его в корневой каталог magento.

<?php
require_once 'app/Mage.php';
umask(0);
/* not Mage::run(); */
Mage::app('default');

## For magento1.7 or Earlier var
//$_HASH_SALT_LENGTH = 2;
## For magento1.8 and magento1.9
$_HASH_SALT_LENGTH = 32;

#Generate admin password
$password = "admin1234";
echo $adminPass = Mage::helper('core')->getHash($password, $_HASH_SALT_LENGTH);
## And reset password field in "admin_user" table

?>

И все, теперь вы можете войти в систему от администратора, используя этот пароль.

Для получения подробной информации о сбросе пароля администратора перейдите по ссылке моего блога http://www.scriptlodge.com/how-to-reset-admin-password-in-magento/

person khasru    schedule 08.06.2014

3 шага без MySql

Чтобы войти в админку magento, используя только ftp-доступ, немного сложно.

Шаг 1:

откройте класс Mage_Admin_Model_User, расположенный по адресу app\code\core\Mage\Admin\Model\User.php.

Шаг 2:

Затем найдите функцию authenticate() вокруг line no: 225. Внутри функции аутентификации написан этот код,

$this->loadByUsername($username);

Вам нужно добавить строку return true; после этого,

$this->loadByUsername($username);
return true;

Шаг 3:

И все, теперь вы входите в админку под любым паролем. Поскольку мы пропустили код для проверки пароля, войдите в систему, используя любой пароль, а затем измените пароль в admin с

System -> Permission -> Users.

person Vinod VT    schedule 08.08.2014
comment
в моем корневом каталоге Linux нет приложения/. - person ahnbizcad; 27.04.2015
comment
@ahnbizcad не в корневом каталоге Linux. Посмотрите на свой корневой каталог magento - person Vinod VT; 27.04.2015
comment
После него много кода. И в конце функции есть возврат. Не знаю, если это устарело. - person ahnbizcad; 27.04.2015
comment
Просто найдите $this-›loadByUsername($username); в User.php и поместите return true чуть ниже строки. :) - person Vinod VT; 27.04.2015

Откройте phpMyAdmin, откройте свою базу данных и под ней найдите таблицу «admin_user» и найдите свое имя пользователя в этой таблице. Удалите пароль там и создайте новый хэш MD5 вашего нового пароля и поместите его туда.

person Chiragit007    schedule 07.06.2013

$дата = новый DateTime();

$password = "b919ec4a25be3bc46c00895a0eb4f907:c20ad4d76fe97759aa27a0c99bff6710";

$sql = "ОБНОВЛЕНИЕ yourmagentoDB.admin_user SET password = \'".пароль."\', rp_token_created_at = ". $date->getTimestamp() ." ГДЕ admin_user.user_id = ".$user_id;

Например, ваш пароль: frank123. Подумайте о любой строке, состоящей не менее чем из двух битов. В моем случае я возьму новый пароль «frank123», а соль — «MD5 (12)». Затем перейдите на любой сайт генератора md5 и сгенерируйте md5 строки «c20ad4d76fe97759aa27a0c99bff6710frank123». md5 в моем случае — «b919ec4a25be3bc46c00895a0eb4f907». Теперь отредактируйте строку таблицы с помощью приведенного выше скрипта.

см. ниже, как использовать FTP

http://excellencemagentoblog.com/how-to-reset-magento-admin-passwor

person mehany    schedule 06.02.2014

Следуйте приведенной ниже процедуре, чтобы сбросить пароль пользователя Magento:

1) Войдите в PhpMyAdmin.

2) Откройте базу данных Magento.

3) Теперь откройте таблицу «admin_user», если вы не установили какой-либо префикс таблицы во время установки Magento, или, если вы установили префикс таблицы, откройте таблицу «prefixadmin_user».

4)Теперь в поле Пароль пользователя вы можете увидеть конвертированный пароль MD5 Hash. Итак, сначала вам нужно преобразовать обычный текст в формат MD5 Hash, а затем скопировать пароль формата MD5 Hast и вставить его в поле Пароль пользователя в таблице базы данных «prefixadmin_user».

person nazim10    schedule 26.10.2013

Получить список пользователей:

*Примечание. Добавьте префикс таблицы перед именем таблицы.

SELECT * FROM admin_user; Затем найдите имя пользователя, которое хотите изменить, в предоставленном списке — «admin» в этом примере. Затем, чтобы обновить пароль, введите:

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username='admin'; ‘qX’ would be changed to whatever you want it to be and same goes for ‘password’

Вы также можете сделать это в phpMyAdmin, найти поле admin_user и выбрать MD5 при обновлении пароля.

Если вы хотите добавить нового пользователя-администратора, вы должны не только создать новую запись в таблице «admin_user», но также должны вставить запись в таблицу «admin_role», которая должна быть связана с пользователем в поле 'Идентификатор пользователя'.

person Harish Kumar    schedule 06.04.2014

Самый чистый способ решить эту проблему — сбросить установку Magento; убедитесь, что вы храните данные учетных данных вашей базы данных в безопасном месте:

  1. Удалить local.xml в приложении\и т. д.
  2. Удалить содержимое \var\cache
  3. Удалить содержимое \var\session
  4. Запустите скрипт установки в браузере с http://yourdomain/index.php.
  5. Запустить первый экран (Локализация)
  6. На втором экране включите «Пропустить проверку базового URL-адреса перед следующим шагом».
  7. Очистить кеш браузера и куки

Работает в 100% случаев.

person Pablo Molina    schedule 20.06.2015