小编Lok*_*Lok的帖子

基于多个用户角色的路由级别中间件

我在Laravel应用程序中有大约 10 种类型的用户角色,例如

  user_type_1 and user_type 4 are accessing url-1.
  user_type_7, user_type_5 and user_type 4 are accessing url-2.
  user_type_5, user_type_1, user_type_3 and user_type 6 are accessing url-3.
  ............................................
  ............................................
   n number of combination of routes. url according to user type.
Run Code Online (Sandbox Code Playgroud)

我的route/web.php文件有大约 1500 条路由,目前没有使用中间件分隔为组。我必须限制用户只访问为那种 user_type 授权的 url。你能建议任何更好的方法来做到这一点。

我曾尝试将 url 与中间件组结合起来,如下所示,但在很少工作后离开了这种方法。

Route::group(['middleware' => ['middleware_user_type_1', 'middleware_user_type_2']], function () {
        Route::get('url-1', 'XYZController@someMethod');
    });
Run Code Online (Sandbox Code Playgroud)

通过这种方式,请求首先进入数组中的第一个中间件,如果用户类型无效,则不要尝试使用第二个中间件。

php routes laravel laravel-routing laravel-middleware

2
推荐指数
1
解决办法
4167
查看次数