Laravel中带有Route :: resource的“可以”中间件

时间:2018-07-19 10:07:51

标签: laravel routes authorization middleware user-roles

我想对资源的所有路线进行授权检查。例如:

  • 管理员可以创建医生
  • 管理员可以更新医生
  • 管理员可以查看医生
  • 管理员可以删除医生

我可以通过在资源路由上应用"can" middleware来实现此目标,例如:

Route::resource('doctors', 'DoctorsController')->middleware('can:*,App\Doctor');

谢谢!

2 个答案:

答案 0 :(得分:0)

在DoctorsController构造函数中,您可以使用:

$this->middleware('can:<something>,App\Doctor');

Reference: https://stackoverflow.com/questions/28729228/laravel-5-route-resources-middleware

答案 1 :(得分:-1)

Route::resource('doctors', 'DoctorsController', ['middleware' => ['middleware1', 'middleware2', 'middleware3']]);