【发布时间】:2018-04-04 22:56:28
【问题描述】:
我的最终目标是通过验证提供给用户的权限来限制对路由组的访问。
这些目标“路由组”有一个公共父组,并且可能有零个或多个子组,这样,如果允许/访问这些目标“路由组”然后,用户也可以访问其所有子路由组。
为了实现这一点,我相信我需要通过中间件中的任何唯一字符串/参数来区分这些目标路由组,这确实得到了here 的回答。
但是,我想进一步概括这一点,通过将中间件应用于所有这些目标路由组的公共 SINGLE PARENT GROUP,并通过中间件中的任何方式识别这些目标路由组。
那么,我的问题是如何在中间件中识别/区分这些目标路由组?有什么办法吗?
我试图描述的示例代码:
Route::group(['prefix' => 'singleParent','middleware' => 'permissionMiddleware'], function (){
Route::group(['prefix' => 'target-group-1', 'groupUniqueString' => 'tsg1'], function (){
Route::group(['prefix' => 'sub-group-1.1'], function (){
});
Route::group(['prefix' => 'sub-group-1.2'], function (){
});
});
Route::group(['prefix' => 'target-group-2', 'groupUniqueString' => 'tsg2'], function (){
Route::get('route-1','Controller@method-of-Route1');
});
});
【问题讨论】:
-
您不能根据您的需要制作其他中间件来限制/访问您的 target-group-1 的某些内容并将中间件添加到该 route::group 吗?
singleParent组及其子组将遵循通用中间件permissionMiddleware但对于子组,您制作新的中间件来处理? -
这不是必需的...我想管理 SINGLE-PARENT 组的下一个 routeGroups 的权限...对于 targe-group-1 的子组/路由,它们将是可访问,如果允许用户使用 target-group-1
标签: laravel laravel-5 laravel-5.1