Laravel 5.2如果用户连续三次输入错误密码登录,将被锁定


Laravel 5.2 if user try to log in with a wrong password three times, lock the account

我是Laravel的新手。到目前为止,我使用CodeIgniter。

我正在尝试实现一个系统,如果用户尝试锁定用户用错误的密码登录三次。

用户使用电子邮件地址和密码登录。

这就是我所做的。

  1. /laravel/框架/src/照明//认证/AuthenticateUsers.php基础我可以写一个代码来重定向用户到一个新的页面,如果用户尝试用错误的密码登录三次。

代码:

return redirect('/lockout')->with('warning', 'You are permanently log out. Please contact the System Administrator');

接下来我想:

  1. 检索用户在登录表单中输入的电子邮件地址
  2. 查找锁定用户表中的邮箱地址
  3. 在"Locked"一栏打勾

我在正确的轨道。有什么建议吗?

谢谢

如果用户试图用错误的密码登录,锁定帐户并不是一个好主意。任何人都可以用他们的电子邮件地址和错误的密码锁定任何人的账户。相反,您可以使用控制器中的throttllogins特征来限制登录尝试。

use AuthenticatesAndRegistersUsers, ThrottlesLogins ;

你可以使用GrahamCampbell Laravel的ThrottleMiddleware节流和限制尝试和登录延迟时间。

use Illuminate'Support'Facades'Route;
Route::get('foo', ['middleware' => 'GrahamCampbell'Throttle'Http'Middleware'ThrottleMiddleware:50,30', function () {
      return 'Why herro there!';
}]);

这将为该url设置一个中间件,限制50次点击,保留时间为30分钟。