Добавление нового пользователя непосредственно в базу данных


Мне передали файлы на сайт Drupal, чтобы я мог создать новую тему. Однако мне не была предоставлена дата пользователя/пароля администратора Drupal, поэтому я не могу войти в административную область. Есть ли способ создать нового пользователя непосредственно в базе данных или каким-либо другим способом?

Author: Jane, 2011-09-06

7 answers

Вы можете создать нового пользователя, добавив строку в таблицу пользователи. Поле пароля должно содержать хэшированный пароль MD5. Вы можете использовать онлайн-генераторы MD5 или, если вы используете phpMyAdmin, выберите функцию MD5 рядом с текстовым полем, в котором вы вводите свой простой пароль. Обратите внимание на идентификатор пользователя (uid) вашего вновь созданного пользователя. После этого вам нужно найти роль с достаточными разрешениями в таблице ролей. Найдите идентификатор роли (rid) и введите uid и rid в новой строке в таблица users_roles.

Если нет роли, предоставляющей доступ администратора, потому что клиент все делает с пользователем 1, вам нужно выполнить немного более грязный трюк. Сохраните где-нибудь хэш пароля пользователя 1 и временно добавьте новый пароль для пользователя 1. Затем войдите в систему с пользователем 1, создайте для себя новую учетную запись, новую роль с достаточными разрешениями и добавьте себя в эту роль. После этого отредактируйте пользователя 1 в базе данных и восстановите пароль. Я могу порекомендовать администратора роль, чтобы заставить роль иметь все разрешения в любое время.

 10
Author: Jorrit Schippers, 2011-09-06 05:38:19

Есть гораздо более простой способ.

  1. Зайдите в базу данных и измените поле адреса электронной почты пользователя с идентификатором 1 и установите его на свой адрес электронной почты.
  2. Перейдите к http://mysite/user и нажмите на ссылку для восстановления пароля.
  3. Введите свой адрес электронной почты, и вы получите ссылку для восстановления пароля.

Конечно, это предполагает, что ваши системы разработки позволяют drupal отправлять почту из коробки. Это верно для большинства коробок linux и osx, но не для Windows.

 13
Author: BetaRide, 2012-06-26 12:26:47

Вы также можете создавать пользователей и назначать роли с помощью Drush, а также изменять пароли для существующих пользователей.

Drush - это оболочка командной строки и интерфейс сценариев для Drupal, настоящий швейцарский армейский нож, предназначенный для облегчения жизни тех из нас, кто проводит часть своего рабочего времени, взламывая командную строку.

 9
Author: mpdonadio, 2012-06-26 10:41:49

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

UPDATE users 
SET name='admin', 
pass='$S$Drl0vgZ9yuU9uc4JyaTMHxMPriC7q/PsOUOx52fCrVQSTpI/Tu4x',
status=1 
WHERE uid = 1;

Данные для входа будут следующими:

Имя пользователя = администратор

Пароль = друпал


ССЫЛКА ЗДЕСЬ:

Https://knackforge.com/blog/sivaji/different-ways-reset-drupal-admin-password

 7
Author: Craig Wayne, 2017-04-15 22:30:26
$user = array();
$user['status'] = 1; //for active user
$user['mail'] = '[email protected]';
//profile field $user['profile_field_fname'] = 'Vikrant';
$user_account = array();
if($user_uid = module_name_get_uid_by_email($user['mail'])) { //It will use for update.
   $user_account = user_load(array(uid => $user_uid));
}

//save or update user information.
user_save($user_account, $user);

//Check existing record by email.
function module_name_get_uid_by_email($email){
   $query = db_query("SELECT uid FROM {users} WHERE mail = '%s'",$email);
   $result = db_fetch_object($query);
   return $result->uid;
}

Попробуйте выполнить приведенный выше код.

 2
Author: Satya, 2011-09-06 06:59:15

Если вам посчастливилось использовать drush, вы можете использовать drush upwd [user] --password="[newpassword]" который (повторно) устанавливает пароль для пользователя с указанным именем. (upwd - это сокращенная версия команды для user-password)

Пример из drush: drush user-password someuser --password="correct horse battery staple" который устанавливает указанный пароль для имени пользователя "someuser".

 2
Author: baikho, 2014-10-30 11:03:02

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

Если у вас есть доступ к drush, вы можете сделать это:

cd <drupal root directory>
php scripts/password-hash.sh 'drupal'

Затем возьмите хэшированный пароль MD5, сгенерированный выше, и:

drush sql-cli
update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;
quit

Это должно сработать.

( источник)

 1
Author: EddieN120, 2016-04-28 13:19:07