我想在更新运行之前验证用户的旧密码以确认密码更改 . 但我不断得到一个回应 .
从表单中获取提供的“旧密码”
$old_password = $request->old_password;
获取当前用户
$user = $this->getUser($request->id);
根据保存在数据库中的密码检查密码
dd($this->checkPassword($request->old_password, $user->password));
在浏览器中返回false .
protected function getUser($id)
{
return User::find($id);
}
protected function checkPassword($password, $current)
{
return (bool) (Hash::check($password, $current) === 1);
}
2 回答
Hash::check
已经返回一个布尔值 .您的方法与=== 1的结果进行比较,无论如何都会返回false .
===
也比较了类型,它将(boolean)true / false与(整数)1进行比较,它永远不会为真 .你的函数应该只返回
Hash::check($password, $current);
请参考以下示例: