我是Laravel的新手。到目前为止,我使用了CodeIgniter。
我正在尝试实现一个系统,以便在用户尝试时锁定用户 用三次错误的密码登录。
用户使用电子邮件地址和密码登录。
这就是我所做的。
代码:
return redirect('/lockout')->with('warning', 'You are permanently log out. Please contact the System Administrator');
接下来我想:
勾选"已锁定"柱
在控制器中。
我是否在正确的轨道上。 有什么建议吗?
由于
答案 0 :(得分:2)
如果用户尝试使用错误的密码登录,则锁定帐户不是一个好主意。任何人都可以使用他们的电子邮件地址和错误的密码锁定任何人的帐户。相反,您可以使用控制器中的throttlelogins traits限制登录尝试。
use AuthenticatesAndRegistersUsers, ThrottlesLogins ;
您可以使用GrahamCampbell Laravel throttle的ThrottleMiddleware
并限制尝试次数和登录延迟时间。
use Illuminate\Support\Facades\Route;
Route::get('foo', ['middleware' => 'GrahamCampbell\Throttle\Http\Middleware\ThrottleMiddleware:50,30', function () {
return 'Why herro there!';
}]);
这将为该网址设置一个中间件,限制为50次点击,保留时间为30分钟。