Comment vérifier que le mot de passe d'entrée correspond au mot de passe haché de la base de données dans Laravel 8
P粉129731808
2023-08-28 14:25:49
<p>Comment vérifier le mot de passe de l'utilisateur à partir d'une requête donnée dans Laravel ? Comment le mot de passe est-il comparé au hachage du mot de passe stocké dans la base de données ?
**
C'est mon contrôleur
**</p>
<pre class="brush:php;toolbar:false;"><?php
espace de noms AppHttpControllers ;
utilisez IlluminateHttpRequest ;
utilisez IlluminateSupportFacadesDB ;
la classe MainController étend le contrôleur
{
fonction login1 (Requête $request){
$nom d'utilisateur = $request->input('nom d'utilisateur');
$mot de passe = $request->input('mot de passe');
$data = DB::table('users')->where(['username'=>$username, 'password'=>$password])->first();
si($données == null){
echo "erreur" ;
$notification = tableau(
'message' => 'L'utilisateur n'existe pas ! ',
'type d'alerte' => 'erreur'
);
return back()->avec($notification);
}
autre{
$request->session()->put('user',$data);
return redirect('tableau de bord');
}
}}</pre></p>
Comme ça
$encrypted = Crypt::encrypt('password_name_variable');
En gros, ce que vous voulez faire c'est :
users
table pour les utilisateurs avec un nom d'utilisateur donné.Donc, vous voulez d'abordinterroger les utilisateurs avec un nom d'utilisateur donné. Ensuite, après récupération de l'utilisateur et vérification de son existence, vous pouvez vérifier si le mot de passe fourni correspond au mot de passe haché sur le modèle récupéré.
Cependant, il existe des fonctions intégrées dans Laravel pour y parvenir, et selon vos besoins, il peut être plus simple de procéder ainsi :
https://laravel.com/api/8.x/Illuminate/Support/Facades/Auth.html#method_attempt