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)
步骤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)
呜呜!!!!你已经完成了:)
| 归档时间: |
|
| 查看次数: |
23477 次 |
| 最近记录: |