Laravel 8에서 입력 비밀번호가 데이터베이스 해시 비밀번호와 일치하는지 확인하는 방법
P粉129731808
2023-08-28 14:25:49
<p>Laravel에서 주어진 요청에 대해 사용자 비밀번호를 어떻게 확인하나요? 데이터베이스에 저장된 비밀번호 해시와 비교하여 비밀번호는 어떻습니까?
**
이게 내 컨트롤러야
**</p>
<pre class="brush:php;toolbar:false;"><?php
네임스페이스 AppHttpControllers;
IlluminateHttpRequest를 사용하세요.
IlluminateSupportFacadesDB를 사용하세요.
MainController 클래스는 Controller를 확장합니다.
{
함수 login1(요청 $request){
$username = $request->input('사용자 이름');
$password = $request->input('비밀번호');
$data = DB::table('users')->where(['username'=>$username, 'password'=>$password])->first();
if($data == null){
에코 "오류";;
$알림 = 배열(
'message' => '사용자가 존재하지 않습니다! ',
'경고 유형' => '오류'
);
return back()->with($notification);
}
또 다른{
$request->session()->put('user',$data);
return 리디렉션('대시보드');
}
}}</pre></p>
이렇게
$encrypted = Crypt::encrypt('password_name_variable');
기본적으로 당신이 하고 싶은 일은:
users
테이블입니다.그래서 먼저주어진 사용자 이름을 가진 사용자를 쿼리하고 싶습니다. 그런 다음 사용자를 검색하고 존재를 확인한 후 제공된 비밀번호가 검색된 모델의 해시된 비밀번호와 일치하는지 확인할 수 있습니다.
으아악그러나 이를 달성하기 위해 Laravel에는 내장 함수가 있으며 필요에 따라 이 작업을 수행하는 것이 더 간단할 수 있습니다.
으아악https://laravel.com/api/8.x/Illuminate/Support/Facades/Auth.html#method_attempt