我想在更新運行之前驗證用戶的舊密碼以確認密碼更改。但我不斷得到一個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);' –