我想在更新运行之前验证用户的旧密码以确认密码更改。但我不断得到一个false
回应。Laravel 5.4 hash :: check()返回false
获取从表单中提供的 '旧密码'
$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);
}
可以轻松地检查,如:'$ check_password =哈希::支票($请求 - > OLD_PASSWORD,$用户>密码); dd($ check_password);' –
我相信'Hash :: check'已经返回boolean ...与'=== 1'比较无论如何都会返回false。你的函数只应该'返回Hash :: check($ password,$ current);' –