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

问题描述 投票:2回答:4

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

php laravel laravel-4
4个回答
27
投票

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

$user = User::where('email', '=', '[email protected]')->first();

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

Hash::check('INPUT PASSWORD', $user->password);

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


2
投票

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])
}

1
投票
 $email = Input::get('email');
    $user = User::where('email', '=', $email)->first();
    if (!$user) {
        return response()->json(['success'=>false, 'message' => 'Not Login successfull']);
    }
    if (!Hash::check(Input::get('password'), $user->password)) {
        return response()->json(['success'=>false, 'message' => 'Not Login successfull']);
    }
    return response()->json(['success'=>true,'message'=>'success', 'data' => $user]);

0
投票

您可以创建以下方法来查找用户身份验证,如laravel网站上所述进行身份验证:

public function authenticate(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        // Authentication passed...
        // use the below code to redirect the user to dashboard.
        // return redirect()->intended('dashboard');
    }
}

请查看以下链接,了解有关laravel网站上的身份验证的更多详细信息:https://laravel.com/docs/5.6/authentication#authenticating-users


0
投票

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

$user = User::where('email', '=', $request->input('email'))->first();

第2步:获取用户密码

$user->password

第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']);
    }

呜呜!!!!!你做了:)

© www.soinside.com 2019 - 2024. All rights reserved.