php artisan make:policy PostPolicy
En app\Policies\PostPolicy.php:
SIEMPRE a todos los métodos hay que pasarle el método User, si queremos un policy que no se necesite estar autorizado entonces pasarlo como opcional con una ?:
public function estaPublicado(?User $user, Post $post) { ... }
Ejemplo:
public function esAutorDelPost(User $user, Post $post) {
if ($user->id == $post->user_id) {
return true;
}
else {
return false;
}
}
Y en nuestro controller
$this->authorize('esAutorDelPost', $post);
// Si ese Post no pertenece a ese user ya no deja seguir ejecutando el resto del método.
No hay comentarios:
Publicar un comentario