Laravel-使用Google 2FA保护所有视图

时间:2018-11-20 15:45:54

标签: laravel authentication

我正在做我的第一个Laravel项目,并根据this tutorial实现了2FA,但不幸的是,创建的2FA机制仅附加到HomeController

因此,如果用户尝试从未经身份验证的状态访问www.thingy.com/something,他们将照常输入电子邮件和密码,然后直接进入/something,而不会出现2FA提示。

我的第一个想法是将中间件位添加到每个资源控制器中的每个__construct()函数中,但是它们还没有__construct()函数(我可以添加吗?),甚至如果可行的话,这似乎不是正确的方法。

我还考虑过将其添加到Controller本身,因为这是每个其他控制器所基于的,但是我当然也不需要非认证视图也需要2FA(只需注册,登录等,因为网站需要登录才能使用。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以在routes/web.php文件中add the middleware to a group of routes

Route::middleware('2fa')->group(function () {

    // All routes here will go through the "2fa" middleware

});