Php 在中间件中获取laravel路由{slug}

Php 在中间件中获取laravel路由{slug},php,laravel,Php,Laravel,我正在laravel中实现基于角色的访问系统,我想通过Rugh Moddiware验证每个请求。因此,我想在我的中间件中路由{slug},基于该slug,我想检查用户是否有访问该请求的权限。我怎样才能做到这一点 我的路线代码: Route::group(['middleware' => 'testmiddleware'], function ($router) { Route::get('{slug}', 'App\Http\Controllers\UserControll

我正在laravel中实现基于角色的访问系统,我想通过Rugh Moddiware验证每个请求。因此,我想在我的中间件中路由{slug},基于该slug,我想检查用户是否有访问该请求的权限。我怎样才能做到这一点

我的路线代码:

Route::group(['middleware' => 'testmiddleware'], function ($router) {
        Route::get('{slug}', 'App\Http\Controllers\UserController@getAuthenticatedUser');
});

如果您想在testmiddleware中的路由中获取{slug}参数的值,可以通过以下方式实现:

$request->route('slug')
向组添加前缀

Route::group(['prefix'=>“{slug}”,'middleware'=>'testmiddleware'],函数(){
路由::获取(“/”,“App\Http\Controllers”\UserController@getAuthenticatedUser“);//它将生成url{slug}
路由::获取('blog','App\Http\Controllers\Blog@getBlogs“);//它将生成url{slug}/blog
路由::post('user','App\Http\Controllers\Users@getUsers“);//它将生成url{slug}/user
});
然后在中间件中,您将获得

$request->slug
  • 这样,您将获得所有组的
    slug
    ,无需添加所有路由

ref link

我有多条路由我可以使用上面的代码获取所有路由slug吗?嗨,它在我这边不起作用,路由::post(“/”,“App\Http\Controllers”\Blog@getBlogs'); 路由::post(“/”,“App\Http\Controllers”\Users@getUsers'); 每次它打电话给getBlogs controllerI我都不明白你想说什么,你能不能编辑多条路线的答案?问题解决了吗。。?