已禁用用户/验证电子邮件

时间:2016-11-08 10:48:48

标签: laravel authentication laravel-5.2

我在用户数据库中添加了一列(is_activated),以便在注册过程中添加验证邮件。

我遵循本教程: Tutorial

它可以正常工作,但未激活的用户可以使用重置密码表单绕过登录功能。

如何解决此问题?

2 个答案:

答案 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。