我在用户数据库中添加了一列(is_activated),以便在注册过程中添加验证邮件。
我遵循本教程: Tutorial
它可以正常工作,但未激活的用户可以使用重置密码表单绕过登录功能。
如何解决此问题?
答案 0 :(得分:0)
您应该create middleware并将所有未激活的用户重定向回主页,例如:
public function handle($request, Closure $next)
{
if (!auth()->user()->is_activated) {
return redirect('/');
}
return $next($request);
}
然后register this middleware并将其应用于Route::group()
答案 1 :(得分:0)
如果激活用户,则值为1,因此请在您的函数中集成下一个验证:
// if user not have value 1 (is not activated)
if (auth()->user()->is_activated != 1) {
// user is not activated so redirect to index
return redirect('/');
}
// user is activated so redirect to account
return redirect('account');
}
您需要检查"is_actived"
的值是否为1。