Проверка политики в контроллере в Laravel
В контроллере проверка политики -
одна строка. Если нельзя, Laravel
вернёт 403:
<?php
public function update(Request $request, Post $post)
{
$this->authorize('update', $post);
// update the post...
}
?>
Имя 'update' совпадает
с методом PostPolicy::update.
Вторым аргументом передают модель,
к которой проверяют доступ.
Для create экземпляр поста
не нужен - передают класс модели:
<?php
public function create()
{
$this->authorize('create', Post::class);
return view('posts.create');
}
?>
В действии обновления вызовите
$this->authorize('update', $post).
В действии удаления вызовите
$this->authorize('delete', $post).