【发布时间】:2019-01-19 22:27:41
【问题描述】:
我创建了一个额外的中间件管理员,我想保护我的路由。添加一个中间件 'auth' 或 'auth:admin' 正在工作。
Route::get('/calendar', function () {
return view('app', ['data' => []);
})->middleware('auth');
但我希望作为管理员,您也可以访问用户路由,但这不起作用。如果我尝试以下操作,并以管理员身份登录,我会一直被重定向到登录页面。
Route::get('/information', ['middleware' => ['auth', 'auth:admin'], function () {
return view('app', ['data' => ['auth' => Auth::check()]]);
}]);
但如果我将 ['auth', 'auth:admin'] 更改为 ['auth:admin','auth'] 它适用于管理员,但不适用于用户。所以似乎只有我的中间件在数组中的第一个元素被识别。有谁知道为什么我的多个中间件单独工作而不是一起工作?任何帮助表示赞赏
【问题讨论】:
-
您的自定义中间件是什么样的?还是你的意思是警卫?
-
您似乎在“中间件”属性上缺少一个结束“]”
-
打错字了
标签: laravel authentication routes middleware