Bagaimana untuk mengesahkan bahawa kata laluan input sepadan dengan kata laluan cincang pangkalan data dalam Laravel 8
P粉129731808
2023-08-28 14:25:49
<p>Bagaimana untuk mengesahkan kata laluan pengguna daripada permintaan yang diberikan dalam Laravel? Bagaimanakah kata laluan berbanding dengan cincang kata laluan yang disimpan dalam pangkalan data?
**
Ini pengawal saya
**</p>
<pre class="brush:php;toolbar:false;"><?php
ruang nama AppHttpControllers;
gunakan IlluminateHttpRequest;
gunakan IlluminateSupportFacadesDB;
kelas MainController memanjangkan Pengawal
{
log masuk fungsi1(Permintaan $permintaan){
$username = $request->input('username');
$password = $request->input('password');
$data = DB::table('users')->where(['username'=>$username, 'password'=>$password])->first();
if($data == null){
bergema "ralat";
$pemberitahuan = array(
'message' => 'Pengguna tidak wujud! ',
'alert-type' => 'error'
);
return back()->with($notification);
}
lain{
$request->session()->put('user',$data);
return redirect('dashboard');
}
}}</pre></p>
Seperti ini
$disulitkan = Crypt::encrypt('kata laluan_nama_variable');
Pada asasnya, apa yang anda mahu lakukan ialah:
users
jadual untuk pengguna dengan nama pengguna yang diberikan.Jadi, anda mahu pertamamenyiasat pengguna dengan nama pengguna yang diberikan. Kemudian, selepas mendapatkan semula pengguna dan mengesahkan kewujudannya, anda boleh menyemak sama ada kata laluan yang diberikan sepadan dengan kata laluan cincang pada model yang diambil.
Walau bagaimanapun, terdapat fungsi terbina dalam dalam Laravel untuk mencapai ini, dan bergantung pada keperluan anda, mungkin lebih mudah untuk melakukan ini:
https://laravel.com/api/8.x/Illuminate/Support/Facades/Auth.html#method_attempt