[MODX] Ручной сброс пароля администратора MODX Revo

Сброс пароля через базу данных

Не редко пользователь забывает свой логин\пароль для доступа к админке сайта. В большинстве случае это легко решается нажатием ссылки "Напомнить пароль" на странице входа в админку. Но в некоторых случаях может потребоваться ручной сброс пароля напрямую через базу данных. Данный вариант подойдет, если вы забыли контактный email указанный при регистрации, либо если на сервере отключена\отсутствует\не работает функция sendmail. Для сброса пароля пользователя через базу данных вам потребуются данные для доступа к самой базе данных и любой привычный вам интерфейс для отправки запросов к базе. К примеру, вы можете воспользоваться стандартными средствами phpmyadmin.

Сброс пароля в  MODX 2.1 и более старших версиях

В MODX 2.1 и более поздних версиях пользователи по умолчанию создаются с алгоритмом хэширования PBKDF2. Базы данных, такие как MySQL или SQL Server как правило, не имеют функции для расчета этих хэшей, и, как следствие, для того, чтобы вручную сбросить пароль в базе данных, вы также должны изменить hash_class указанный для пользователя от modPBKDF2 на хеширование .modMD5. Далее вы можете использовать стандартную функцию MD5 (), чтобы установить значение поля ввода пароля надлежащим образом. Вот пример MySQL UPDATE запроса:

UPDATE modx_users SET hash_class = 'hashing.modMD5', password = MD5('the-new-password') WHERE username = 'theusername';

Если вы хотите, чтобы потом пользовательский пароль автоматически преобразуются обратно в PBKDF2, после восстановления доступа к админке сайта, вы сможете установить пакет pbkdf2Convert  доступный из меденжера расширений

Сброс пароля в MODX 2.0.x.

В MODX 2.0.x, вы можете просто сбросить пароль в поле с нужным значением MD5 хеша непосредственно в таблице базы данных. Вот пример MySQL UPDATE запроса показывающий как это сделать:

UPDATE modx_users SET password = MD5('the-new-password') WHERE username = 'theusername';

 

Источник:rtfm.modx.com