Setel ulang kata sandi pengguna tanpa menggunakan "Lupa kata sandi?"


9

Saya tahu bahwa di Drupal 7 saya bisa mengatur ulang kata sandi pengguna # 1 melalui kode.

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()tidak ada lagi di Drupal 8.)

Atau, saya bisa menggunakan kode berikut.

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);

Apa kode yang setara untuk Drupal 8? API apa yang harus saya gunakan untuk tujuan ini?

Jawaban:


12

Lebih mudah hari ini:

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

seperti biasa solusi yang sangat baik dan jelas, tnx Master Clive
Yusef

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.