Где определить разрешения для каждого грубого действия в laravel - PullRequest
1 голос
/ 11 апреля 2020

Я спроектировал магазин с Laravel 6 и использовал laravel -пропуск 3 для управления пользователями. Я хотел бы ограничить каждое грубое действие определенным разрешением (например, добавить продукт, удалить продукт). В Spat ie есть краткое описание использования группового разрешения, но я не уверен в этом. Я не знаю где лучше всего определить эти ограничения .

Вот пример маршрута для создания и редактирования продукта и его промежуточного программного обеспечения (ограничения по разрешениям).

Route::get('/create','Controller@create')->name('create')->middleware('permission:add product');
Route::post('/store', 'Controller@store')->name('store')->middleware('permission:add product');
Route::get('/{product}/edit', 'Controller@edit')->name('edit')->middleware('permission:edit product');
Route::patch('/{product}/update', 'Controller@update')->name('update')->middleware('permission:edit product');

1 Ответ

0 голосов
/ 17 апреля 2020

Я предлагаю использовать Модель политики Laravel , вы можете найти более подробную информацию по ссылке ниже. https://docs.spatie.be/laravel-permission/v3/best-practices/using-policies/

Кроме того, вы можете найти пример реализации политики модели с этим Laravel пакетом разрешений в этом демонстрационном приложении: https://github.com/drbyte/spatie-permissions-demo/blob/master/app/Policies/PostPolicy.php

...