รีเซ็ตรหัสผ่านผู้ใช้โดยไม่ใช้“ ลืมรหัสผ่าน”


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

เช่นเดียวกับวิธีแก้ปัญหาที่ดีและชัดเจนเสมอ Master Clive
Yusef

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.