...
Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment changer le mot de passe de l’utilisateur dans Laravel

779

Pendant que vous travaillez sur l’application, vous souhaiterez peut-être changer rapidement le mot de passe d’un utilisateur pour certaines raisons et vous n’avez pas accès à la base de données. De plus, vous ne voulez pas opter pour un flux de mot de passe oublié. Dans cet article, je vous montre comment changer le mot de passe d’un utilisateur dans Laravel sans accéder à la base de données.

En ce qui concerne Laravel, il est livré avec une table « utilisateurs » par défaut dans la base de données. Cette table est chargée de stocker les détails de l’utilisateur, y compris les informations d’identification telles que l’e-mail et le mot de passe.

Laravel utilise son propre hachage pour crypter le mot de passe. Pour changer le mot de passe, vous devez utiliser les mêmes techniques de hachage pour le cryptage, alors seulement cela fonctionne avec l’authentification Laravel.

Modifier le mot de passe de l’utilisateur à l’aide de la ligne de commande

Il y a plusieurs fonctionnalités Laravel incluses dans son noyau. Lors de l’ installation de Laravel, nous obtenons automatiquement toutes ces fonctionnalités. L’un d’eux est Laravel Tinker, un REPL alimenté par le package PsySH. Laravel Tinker nous permet d’interagir avec la base de données Laravel, les emplois, les événements et plus encore.

Nous pouvons utiliser le Tinker pour changer le mot de passe d’un utilisateur dans Laravel. Tout ce que nous avons besoin de savoir est l’adresse e-mail d’un utilisateur. Donc, pour commencer, ouvrez le terminal dans le répertoire racine de votre projet.

Entrez dans l’environnement Tinker en exécutant la commande :

php artisan tinker

Comment changer le mot de passe de l'utilisateur dans Laravel

Une fois que vous entrez dans l’environnement Tinker, vous aurez le contrôle sur Eloquent ORM. En utilisant l’ORM, vous pouvez facilement changer le mot de passe de l’utilisateur. Disons que l’e-mail de l’utilisateur est " [email protected] " et que le mot de passe doit être modifié. Dans un premier temps, récupérez cet utilisateur par une instruction :

$user = AppUser::where('email', '[email protected]')->first();

Comment changer le mot de passe de l'utilisateur dans Laravel

Ensuite, sur l’objet utilisateur, définissez le mot de passe à l’aide de la Hash::make()méthode. Par exemple, définissez le mot de passe comme « 123456 ». L’énoncé suivant est donc :

$user->password = Hash::make('123456');

Comment changer le mot de passe de l'utilisateur dans Laravel

Enfin, appelez la méthode save() d’Eloquent ORM comme suit :

$user->save();

Comment changer le mot de passe de l'utilisateur dans Laravel

Les 3 commandes ci-dessus changeront le mot de passe d’un utilisateur spécifié.

Changer le mot de passe de l’utilisateur dans Laravel en utilisant Route

Vous pouvez également modifier le mot de passe via l’itinéraire. Cependant, il n’est pas recommandé. J’écris juste à ce sujet car c’est aussi la façon de changer le mot de passe. Dans la fonction de rappel de la route, utilisez le même code que celui que nous avons utilisé dans le Tinker ci-dessus. Les deux feraient le travail exact. Déclarons une route ‘changepassword’ et passons le code dans la fonction de rappel comme indiqué ci-dessous.

itinéraires/web.php

<?php
Route::get('changepassword', function() {
    $user = AppUser::where('email', '[email protected]')->first();
    $user->password = Hash::make('123456');
    $user->save();
 
    echo 'Password changed successfully.';
});
?>

Maintenant, exécutez l’URL YOUR_DOMAIN_URL/changepassword dans le navigateur. Il appellera la route et changera le mot de passe de l’utilisateur. Le développeur doit supprimer cette route une fois le mot de passe modifié.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails