Laravel 多重身份验证 |路由中间件
Posted
技术标签:
【中文标题】Laravel 多重身份验证 |路由中间件【英文标题】:Laravel multi auth | Route middleware 【发布时间】:2018-07-25 00:05:49 【问题描述】:我必须使用users
、admins
验证表。
我已经为警卫和提供者相应地更改了 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 在所有 api 路由中使用 Web 身份验证重定向到主页