Laravel-验证中间件拒绝验证用户

时间:2019-09-24 00:52:55

标签: php laravel middleware verification

所以我有一个问题,用户可以成功验证他/她的电子邮件,但是当他们使用“经过验证的”中间件输入路由时,会被拒绝吗?

受保护的路线:

Route::get('/venue/{venue}', 'profileController@index')->name('profile.show')->middleware('verified');

确保电子邮件已通过验证:

public function handle($request, Closure $next, $redirectToRoute = null)
{
    if (! $request->user() ||
        ($request->user() instanceof MustVerifyEmail &&
        ! $request->user()->hasVerifiedEmail())) {
        return $request->expectsJson()
                ? abort(403, 'Your email address is not verified.')
                : Redirect::route($redirectToRoute ?: 'verification.notice');
    }
    return $next($request);
}

如果我在用户上呼叫hasVerifiedEmail(),它将返回true。 任何帮助都太棒了!

1 个答案:

答案 0 :(得分:0)

您可能会将经过验证的用户重定向到只有未经验证的用户才能看到的页面,最终只是将他们重定向回上一页/主页(取决于您的设置方式)。