我必须在Laravel项目和两条中间件路由中使用前缀和名称空间。
Route::group([
'middleware' => ['IsAdmin'],
'prefix' => 'admin', 'as' => 'admin.'
], function () {
});
Route::group([
'middleware' => ['IsRestaurant'],
'prefix' => 'restaurant', 'as' => 'restaurant.'
], function () {
});
中间件是
对于管理员
if (Auth()->check() && $request->user()->role_id == 1) {
return $next($request);
}
return redirect()->back();
}
餐厅
public function handle($request, Closure $next)
{
if (Auth()->check() && $request->user()->role_id == 3) {
return $next($request);
}
return redirect()->back();
}
现在当我进入localhost:8000时 我有此页面无法正常工作
当我删除中间件时,我明白了。但是,当我使用电子邮件管理员登录时,我将前缀admin设为角色1,当我起诉电子邮件员工具有角色2时,我还将转到管理员。