【问题标题】:Laravel protecting routes with verified middleware not workingLaravel 使用经过验证的中间件保护路由不起作用
【发布时间】:2020-08-02 13:33:53
【问题描述】:

我已经按照本教程实现了 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');
});

但我无需验证电子邮件地址即可访问dashboard

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

【问题讨论】:

  • 请添加您已验证的中间件代码和您执行的步骤以跟踪您的问题在哪里
  • 我没有单独添加经过验证的中间件,因为我按照 laravel.com/docs/5.8/verification 的教程进行操作。我需要添加“已验证的中间件”吗?

标签: php laravel laravel-5


【解决方案1】:

这通常是一件很容易启动和运行的事情,您的应用程序中的某个地方可能有一个小错误,所以这里有一个快速检查清单。

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

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

class User extends Authenticatable implements MustVerifyEmail

  1. 您是否在 routes/web.php? 中将验证设置为 true

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 2015-12-17
    • 2019-10-28
    • 2015-08-12
    • 2020-05-10
    • 2021-09-28
    • 2014-07-18
    • 2014-10-26
    相关资源
    最近更新 更多