如何在laravel 4中匹配输入密码和数据库哈希密码

use*_*129 6 php laravel laravel-4

如何在Laravel中从给定请求验证用户密码?如何根据存储在数据库中的密码哈希检查密码?

Dar*_*lor 30

首先,您需要找到基于电子邮件地址或用户名登录的用户,或者您要识别它们,例如:

$user = User::where('email', '=', 'email@address.com')->first();
Run Code Online (Sandbox Code Playgroud)

然后,您需要检查哈希密码,如下所示:

Hash::check('INPUT PASSWORD', $user->password);
Run Code Online (Sandbox Code Playgroud)

这将根据密码是否匹配返回true或false.


Vis*_*iya 10

Laravel 登录认证:

public function login(Request $request)
{
     $email = $request->input('email');
     $password = $request->input('password');

     $user = User::where('email', '=', $email)->first();
     if (!$user) {
        return response()->json(['success'=>false, 'message' => 'Login Fail, please check email id']);
     }
     if (!Hash::check($password, $user->password)) {
        return response()->json(['success'=>false, 'message' => 'Login Fail, pls check password']);
     }
        return response()->json(['success'=>true,'message'=>'success', 'data' => $user])
}
Run Code Online (Sandbox Code Playgroud)


Asf*_*qui 5

步骤1:首先从DB获取用户数据

$user = User::where('email', '=', $request->input('email'))->first();
Run Code Online (Sandbox Code Playgroud)

步骤2:获取用户密码

$user->password
Run Code Online (Sandbox Code Playgroud)

第 3 步:验证其为

 if(Hash::check($password, $user->password)) {
        return response()->json(['status'=>'true','message'=>'Email is correct']);
    } else {
        return response()->json(['status'=>'false', 'message'=>'password is wrong']);
    }
Run Code Online (Sandbox Code Playgroud)

呜呜!!!!你已经完成了:)