【发布时间】:2018-05-24 00:15:00
【问题描述】:
我在 Laravel 5.5 中尝试通过 Hash::check 验证发布密码时遇到问题
我制作了一个带有密码列的帖子表(在本例中为销售表)。当我尝试创建帖子时,它运行良好,密码经过哈希处理,也属于登录用户。然后在当前帖子页面上是一个带有输入(密码)的按钮,用于删除该特定帖子,但条件始终为 false。
我的控制器 public function destroy(Request $request, $id)
$input_pass = request('input_password');
$sale = Sale::find($id);
$hashed = $sale->password;
// Check if sale password is correct
if (Hash::check($input_pass, $sale->password)) {
$sale->delete();
} else {
// something else to do
}
对于 post 存储,我使用 bcrypt 方法对密码进行哈希处理。我也一直在尝试 dd('sale->password') 引用销售表中的列(正确)和 dd('$input_pass') 引用以 DELETE 形式输入的密码(也是正确的) - 所以我有点疑惑,为什么pass不匹配。
【问题讨论】:
-
贴出你加密密码的代码
-
$sale = Sale::forceCreate([ 'sale_title' => request('sale_title'), 'password' => bcrypt('password'), 'user_id' => auth()- >user()->id ]);