Проверка прав при отправке формы в Laravel
В высшем учебнике Form Request
проверяет данные формы. У него
есть и метод authorize -
можно ли текущему пользователю
вообще отправлять этот запрос.
Сюда удобно встроить Policy:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdatePostRequest extends FormRequest
{
public function authorize(): bool
{
return $this->user()->can('update', $this->route('post'));
}
public function rules(): array
{
return [
'title' => ['required', 'string', 'max:255'],
'text' => ['required', 'string'],
];
}
}
?>
В UpdatePostRequest
в authorize проверьте
право update на пост
из маршрута.
Подключите этот Form Request
в действии update
контроллера.