我在laravel中创造了三种类型的守卫
我的auth.php文件看起来像这样
我的auth.php文件看起来像这样
<?php return [ 'defaults' => [ 'guard' => 'web','passwords' => 'users',],'guards' => [ 'web' => [ 'driver' => 'session','provider' => 'users','api' => [ 'driver' => 'token','admin' => [ 'driver' => 'session','provider' => 'admins','student' => [ 'driver' => 'session','provider' => 'students','finance' => [ 'driver' => 'session','provider' => 'finances','admin-api' => [ 'driver' => 'token','finance-api' => [ 'driver' => 'token','providers' => [ 'students' => [ 'driver' => 'eloquent','model' => App\student::class,'finances' => [ 'driver' => 'eloquent','model' => App\Finance::class,'admins' => [ 'driver' => 'eloquent','model' => App\users::class,'finance' => [ 'driver' => 'eloquent',// 'users' => [ // 'driver' => 'database',// 'table' => 'users',// ],'passwords' => [ 'students' => [ 'provider' => 'students','table' => 'password_resets','expire' => 60,'finances' => [ 'provider' => 'finances','admins' => [ 'provider' => 'admins','expire' => 15,'finance' => [ 'provider' => 'finance',];
我可以检查auth用户,但我们有一些对所有用户都相同的路由和控制器,我需要检查相同路由或控制器中的所有防护,以便登录的每种类型的用户.
如何检查同一控制器或路径中的多个警卫?
解决方法
对于要进行身份验证的每个控制器
public function __construct() { $this->middleware('auth:admin,student,finance'); }
要么
你可以在路线上使用
Route::group(['middleware' => 'auth:admin,finance,student'],function () { any same route here });
您可以像这样访问刀片中的用户详细信息
{{ Auth::guard('admin')->user()->name }} {{ Auth::guard('admin')->user()->last_name }}
我希望这可以帮助别人.