php - Laravel 密码重置不起作用

标签 php mysql laravel laravel-5 hash

我遇到了一种情况,lavavel 密码身份验证似乎没有恢复密码重置。新用户的新密码有效 我一直在创建重置。

 $email = $request['email'];
  //$pwmail = (string)str_random(10);
  $pwmail = (random_str(4));
  //$pwmail = '1234';
  $password = \Hash::make($pwmail);

  $userscon2 = \DB::table('users')->where('email',$email )->update(['password' => $password]);

我已经打印出哈希值并将它们与数据库中的值进行比较,它们匹配。下面是我的登录 Controller 的一部分

 if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
       return redirect()->route('dashboard');
    } else {
    return redirect()->back();
    }

我也碰巧尝试过 bcrypt。

最佳答案

我认为您应该在尝试登录之前执行 Hash::check($new_password, $db_password) 来检查新密码与当前密码。 This answer可能会给你一个想法。另外,请参阅版本5.1 Hashing Docs .

关于php - Laravel 密码重置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51957869/

相关文章:

php - SQL AVG 函数不考虑空单元格

PHP MySQL UPDATE 查询不起作用(没有返回行)

laravel - laravel Eloquent 中的条件关系

php - 在 laravel 的 mysql 查询中获取计数

php - Laravel mssql 驱动支持

php - preg_replace 麻烦

PHP 常量不存在 : Notice

php - 表单提交后清空数据库记录

php - KCFinder with CKEditor - 为上传文件设置动态文件夹

mysql - 将多行查询到单行中