Laravel 使用经过验证的中间件保护路由不起作用

Rej*_*aul 0 php laravel laravel-5

我已经按照本教程实现了 Laravel-5.8 电子邮件验证:https ://laravel.com/docs/5.8/verification 。我试图保护几条路线免受电子邮件未经验证的用户的影响,如下所示:

Route::group(['middleware' => ['verified']], function () {
    Route::get('/dashboard', 'DashboardController@dashboard')->name('dashboard');
    Route::get('/backend', 'DashboardController@backend')->name('backend');
});
Run Code Online (Sandbox Code Playgroud)

但是我可以在dashboard不验证我的电子邮件地址的情况下访问。

如何在不验证电子邮件的情况下阻止此访问?

Nat*_*han 7

这通常是启动和运行的非常简单的事情,您的应用程序中的某处可能存在小错误,因此这里有一个快速检查清单。

  1. 您正在测试的用户email_verified_at在数据库中是否有空字段?

  2. 您是否implements MustVerifyEmail在用户模型中添加了?

class User extends Authenticatable implements MustVerifyEmail

  1. 你有没有在你的 routes/web.php?

Auth::routes(['verify' => true]);

您已将中间件正确添加到路由中,因此这不是问题。

除此之外,我们没有太多的信息要发布。