Laravel 多重身份验证 |路由中间件

Posted

技术标签:

【中文标题】Laravel 多重身份验证 |路由中间件【英文标题】:Laravel multi auth | Route middleware 【发布时间】:2018-07-25 00:05:49 【问题描述】:

我必须使用usersadmins 验证表。 我已经为警卫和提供者相应地更改了 config/auth.php

现在我有一些 admins 的受保护路线,例如:

Route::group(['middleware' => ['auth']], function () 
    Route::get('/admin', 'AdminController@index')->name('adminIndex');
);

我在上述路线上申请middleware auth,它让我回到user登录页面(/login),而不是管理仪表板页面。

为什么会这样,我错过了什么?

【问题讨论】:

显示你的中间件?? 有趣的是我前两天刚写了一篇关于访问控制的文章kerneldev.com/2018/02/12/…你可能想看看:) 你能展示你的中间件吗 @sohel0415 中间件auth是laravel内置的中间件。我还没写呢! @sibasankarBhoi 中间件 auth 是 laravel 内置的中间件。我还没写呢! 【参考方案1】:

您应该在中间件中提及守卫名称。如果您有管理员守卫,则如下定义。

请试试这个,希望能成功

Route::group(['middleware' => ['auth:admin']], function () 
Route::get('/admin', 'AdminController@index')->name('adminIndex');
);

【讨论】:

完成!现在,当我想去管理员 login 时,它会将我重定向到用户登录页面! 请看这个 github repo。我认为它会帮助你解决问题。github.com/rahmanmajeed/MultiAuthDev

以上是关于Laravel 多重身份验证 |路由中间件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 5.2 中创建多重身份验证

在Laravel中使用Middleware进行身份验证

Laravel 在所有 api 路由中使用 Web 身份验证重定向到主页

将 Auth 中间件应用于所有 Laravel 路由

如何在 laravel 5.2 中使用多重身份验证 [关闭]

Laravel 自定义多重身份验证