apiResource с множественным доступом - PullRequest
0 голосов
/ 06 января 2019

У меня есть две роли: администратор (у которого есть доступ ко всем методам, таким как post, put, delete) и пользователь, у которого есть доступ только к методу get. Я создал контроллер ресурсов API, в котором определены все методы. Я могу использовать это как

Route::apiResource('measure', 'MeasureTypeController');

У меня есть две группы промежуточного программного обеспечения:

//admin role routes
Route::middleware('role:admin')->group(function () {
   //...
});

//user role routes
Route::middleware('role:user')->group(function () {
   //...
});

Администратор может получить доступ к маршрутам, определенным в группе ролей пользователя. Но пользователь не может получить доступ к маршрутам, указанным в группе администраторов. Как я должен написать свой маршрут ресурсов API, чтобы предотвратить доступ пользователя к методам удаления put и post?

1 Ответ

0 голосов
/ 06 января 2019

Вы можете сделать что-то вроде этого,

Route::group(['prefix' => 'admin',  'middleware' => 'role:admin'], function()
{
    Route::apiResource('measure', 'MeasureTypeController');
});

Route::group(['middleware' => 'role:user'], function()
{
    Route::apiResource('measure', 'MeasureTypeController')->except(['create','store', 'update', 'destroy' ]);
});
...