Autorización con Policies




Autorização com Policies em Laravel

Policies em Laravel são classes que organizam a lógica de autorização para seus modelos. Elas permitem definir regras de autorização para ações específicas, como criar, atualizar ou excluir registros. Usar Policies torna seu código de autorização mais organizado e reutilizável.

Conceitos chave

  • Criação de Policies: Use o comando Artisan php artisan make:policy NomePolicy --model=NomeModelo.
  • Registro de Policies: Registre as Policies no método boot() do AuthServiceProvider.
  • Métodos de autorização: Defina os métodos de autorização na classe Policy.
  • Uso de Policies: Use os métodos authorize() nos controladores ou a diretiva @can nas views.

Policies facilitam a manutenção e a reutilização da lógica de autorização, tornando seu código mais organizado e legível.


Exemplo de Policy

                // app/Policies/PostPolicy.php

                namespace App\Policies;

                use App\Models\User;
                use App\Models\Post;

                class PostPolicy {
                    public function update(User $user, Post $post) {
                        return $user->id === $post->user_id;
                    }
                }

                // Controlador
                public function update(Request $request, Post $post) {
                    $this->authorize('update', $post);

                    // Lógica de atualização
                }
            



Publicar un comentario

0 Comentarios