【发布时间】:2023-03-13 16:04:02
【问题描述】:
我正在创建一个具有多种用户类型的项目,例如。超级管理员、管理员、管理员等。一旦用户通过身份验证,系统就会检查用户类型并将其发送到相应的控制器。中间件工作正常。
因此,当经理转到 http://example.com/dashboard 时,他将看到经理仪表板,而当管理员转到同一链接时,他可以看到管理员仪表板。
以下路线组单独工作正常,但放在一起时只有最后一个工作。
/***** Routes.php ****/
// SuperAdmin Routes
Route::group(['middleware' => 'App\Http\Middleware\SuperAdminMiddleware'], function () {
Route::get('dashboard', 'SuperAdmin\dashboard@index'); // SuperAdmin Dashboard
Route::get('users', 'SuperAdmin\manageUsers@index'); // SuperAdmin Users
});
// Admin Routes
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function () {
Route::get('dashboard', 'Admin\dashboard@index'); // Admin Dashboard
Route::get('users', 'Admin\manageUsers@index'); // Admin Users
});
我知道我们可以重命名路由,例如 superadmin/dashboard 和 admin/dashboard,但我想知道是否有其他方法可以实现干净的路由。有谁知道任何解决方法?
顺便说一句,我使用的是 LARAVEL 5.1
任何帮助表示赞赏:)
【问题讨论】:
-
当你把它们放在一起时,你只是用第二个覆盖第一个......
-
没有。这行不通。
标签: php laravel laravel-5 laravel-routing