Php 在Laravel 5.5中增加多次失败登录尝试的时间

Php 在Laravel 5.5中增加多次失败登录尝试的时间,php,laravel,authentication,laravel-5,Php,Laravel,Authentication,Laravel 5,目前,默认情况下,五次登录尝试阻止用户一分钟。我想将系统设计为: 在前三次登录尝试失败后,阻止用户2分钟 之后,对于接下来两次失败的登录尝试(总共第五次),阻止用户5分钟 ThrottlesLogins.php 公共函数maxtures() { 返回属性_存在($this,'maxturents')?$this->maxturents:2; } 公共功能十分钟() { 返回属性_存在($this,'decyminutes')?$this->decyminutes:2; } LoginContr

目前,默认情况下,五次登录尝试阻止用户一分钟。我想将系统设计为:

  • 在前三次登录尝试失败后,阻止用户2分钟
  • 之后,对于接下来两次失败的登录尝试(总共第五次),阻止用户5分钟
  • ThrottlesLogins.php

    公共函数maxtures()
    {
    返回属性_存在($this,'maxturents')?$this->maxturents:2;
    }
    公共功能十分钟()
    {
    返回属性_存在($this,'decyminutes')?$this->decyminutes:2;
    }
    
    LoginController.php

    公共函数adminLogin(请求$Request) { $this->validate$请求[ “电子邮件”=>“必需”|电子邮件”, “密码”=>“必需|最小值:6” ]); $key=$this->throttleKey($request); $rateLimiter=$this->limiter(); //检查用户是否有过多的登录尝试。 如果($this->hastoomanyLogin尝试($request)){ $attempts=$RateLimitor->attempts($key); $rateLimiter->clear($key); 如果($truments==5){ $this->十分钟=5; } 对于($i=0;$i<$truments;$i++){ $this->incrementLoginAttents($request); } $this->fireLockoutEvent($request);//触发锁定事件。 返回$this->sendLockoutResponse($request);//锁定后将用户重定向回。 } 如果(Auth::guard('admin')->尝试(['email'=>$request->email, 'password'=>$request->password],$request->get('memory')){ return redirect()->预期('/admin'); } //跟踪用户的登录尝试。 $this->incrementLoginAttents($request); return back()->withInput($request->only('email','memory'); } 我已经注意到这一点:

    但这并不能解决我的问题。我怎样才能实现这样一个系统