「パスワードをお忘れですか?」を使用せずにユーザーパスワードをリセットする


9

Drupal 7では、コードを使用してユーザー#1のパスワードをリセットできることを知っています。

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once DRUPAL_ROOT . '/includes/password.inc';
$newhash = user_hash_password('newpass');
$updatepass = db_update('users') 
  ->fields(array('pass' => $newhash))
  ->condition('uid', '1', '=')
  ->execute();

user_hash_password()Drupal 8にはもう存在しません。)

または、次のコードを使用することもできます。

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once DRUPAL_ROOT . '/includes/password.inc';
$edit['pass'] = 'newpass';
$account= user_load(1);
user_save($account, $edit);

Drupal 8の同等のコードは何ですか?この目的にはどのAPIを使用すればよいですか?

回答:


12

最近はもっと簡単です:

$account = \Drupal::entityTypeManager()->getStorage('user')->load(1);
$account->setPassword('new password');
$account->save();

常に非常に優れた明確なソリューションとして、tnxマスタークライヴ
ユセフ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.