我是laravel的新手,我有一些路由组和中间件。我的问题是,当我在不同的路线组上使用相同的路线时,它只选择底部路线组中的路线。
以下是我的代码
AdminMiddleware:
if(Sentinel::check() && Sentinel::getUser()->roles()->first()->slug == 'admin')
return $next($request);
else
return redirect()->back();
TeacherMiddleware:
if(Sentinel::check() && Sentinel::getUser()->roles()->first()->slug == 'teacher')
return $next($request);
else
return redirect()->back();
wep.php:
Route::group(['middleware' => ['teachers']], function () {
Route::get('/adminportal', ['as' => 'getAdminPortal', 'uses' => 'AdminPortalController@getAdminPortal']);
});
Route::group(['middleware' => ['admin']], function () {
Route::get('/adminportal', ['as' => 'getAdminPortal', 'uses' => 'AdminPortalController@getAdminPortal']);
Route::get('/admin/dashboard', ['as' => 'getDashboard', 'uses' => 'DashboardController@Dashboard']);
});
所以在上面的代码中,我真正希望实现的是,当用户具有 admin 的角色时,他应该能够访问/adminportal and /admin/dashboard
,但在这种情况下,具有 admin 角色的用户只能访问/admin/dashboard
但无法访问/adminportal
路由。
请问我该如何解决?