In this page you can see how you can update the password of any user in drupal 8 programmatically
There are several case in which you don't have the database access and also if you don't have email service working on drupal 8 website and if you want to reset the password and then this approach will help.
I assume you know how to create basic custom module in drupal 8. Here I am creating a controller class and write code in public function to execute the code using path.
Firstly Create the routing file and give a path like below:
reset_password_by_code.landing:
path: 'reset-password-by-code'
defaults:
_controller: '\Drupal\reset_password_by_code\Controller\CodeResetPassword::content'
_title: Reset Password By code
requirements:
_permission: 'access content'
And then create controller under src/Controller
<?php
namespace Drupal\reset_password_by_code\Controller;
use Drupal\Core\Controller\ControllerBase;
class CodeResetPassword extends ControllerBase{
public function content(){
$id = 13;
$user_object = \Drupal::entityManager()->getStorage('user');
$user = $user_object->load($id);
$user->setPassword('Helloworldreset');
$user->save();
return array('#markup' => "password updated");
}
}
After clear cachem when you load path "http://your-domain.com/reset-password-by-code" and where $id you set the password will updated.
you can use this script to update the password in bulk also, for better explanation kindly refer the github module using below link:
https://github.com/key2goal/drupal8-reset-password-programmatically
Hope this helps
Happy Searching, Happy Learning
- Log in to post comments