要更改密码,请输入当前密码。如果密码正确,也会显示错误消息
public function passwordupdate(Request $ request){
$user=user::find(Auth::user()->id);
$validator=Validator::make($request->all(), [
//'password' => 'required|confirmed|min:6|max:14'
'cpassword'=> 'required|confirmed|min:6|max:14'
]);
if($validator->fails()){
return redirect()->back()->withErrors(['cpassword'=>'Please check the password you given']);
}else{
$user->cpassword=bcrypt($request->cpassword);
$user->save();
return redirect()->back();
}
}
答案 0 :(得分:3)
哈希检查https://laravel.com/docs/5.3/hashing
if (Hash::check('plain_text_password', $hashedPassword))
{
// The passwords match...
}
答案 1 :(得分:1)
首先,您需要use Illuminate\Support\Facades\Hash;
检查用户输入的旧密码是否可以使用Hash::check()
。该功能需要2个参数。
第一个是普通字符串,第二个是哈希密码(旧密码)。
您可以Auth::user()->password
检索旧密码,以便条件为
if(Hash::check($request['oldpass'], $user->password)){
//insert the new password
Auth::user->update([
'password'=>bcrypt($data['newpass'])
]);
Auth::user->save();
}
P.S
Hash::check()
返回true或false
答案 2 :(得分:0)
您可以使用Hash::check()
方法。例如,如果要将输入的密码与当前用户的密码进行比较:
if (Hash::check($request->password, auth()->user()->password) {
// Entered password is correct.