Laravel 8で入力パスワードがデータベースのハッシュされたパスワードと一致することを確認する方法
P粉129731808
2023-08-28 14:25:49
<p>Laravel で指定されたリクエストからユーザーのパスワードを確認するにはどうすればよいですか?パスワードをデータベースに保存されているパスワード ハッシュと比較するとどうなるでしょうか?
**
これは私のコントローラーです
**</p>
<pre class="brush:php;toolbar:false;"><?php
名前空間 App\Http\Controllers;
Illuminate\Http\Request を使用します。
Illuminate\Support\Facades\DB を使用します。
クラス MainController はコントローラーを拡張します
{
関数login1(リクエスト$request){
$username = $request->input('username');
$password = $request->input('パスワード');
$data = DB::table('users')->where(['username'=>$username, 'password'=>$password])->first();
if($data == null){
エコー「エラー」;
$notification = 配列(
'メッセージ' => 'ユーザーは存在しません! '、
'アラートの種類' => 'エラー'
);
return back()->with($notification);
}
それ以外{
$request->session()->put('user',$data);
return redirect('ダッシュボード');
}
}}</pre></p>
###このような###
$encrypted = Crypt::encrypt('パスワード名変数');
基本的に、あなたがやりたいことは次のとおりです:
users
テーブル内の指定されたユーザー名を持つユーザー。したがって、最初に 指定されたユーザー名を持つユーザーをクエリしたいとします。次に、 ユーザーを取得し、 その存在を確認した後、 指定されたパスワードが、取得したモデルのハッシュ化されたパスワードと一致するかどうかを確認できます。
リーリーただし、Laravel にはこれを実現するための組み込み関数があり、ニーズによっては、これを行う方が簡単な場合があります。
リーリーhttps://laravel.com/api/8.x/Illuminate/Support/Facades/Auth.html#method_attempt