将两个模型传递给Authorize中间件(也称为can)

时间:2017-06-08 12:50:51

标签: laravel laravel-5.4 laravel-middleware

我正在尝试将两个模型传递给名为Authorize的{​​{1}}中间件。

can

routes/api.php

然后我尝试检索这样的参数:

Route::middleware('can:reach,profile,photo')->resource('users/{user}/profiles/{profile}/photos', 'PhotoController');

app/Policies/PhotoPolicy.php

但中间件完全被忽略了。我检查了中间件的定义,但我不明白为什么这不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你必须将中间件添加到资源中,而不是相反。或者,您可以创建一个组。

示例:

Route::group(['middleware' => 'can:reach,profile,photo'], function($router){
  $router->resource('users/{user}/profiles/{profile}/photos', 'PhotoController');
});