Albert Reis da Cruz
Criador Albert Reis da Cruz 13/01/2022

Carlos, estou utilizando os gates nativos do laravel, está funcionando numa aplicação minha. Surgiu uma dúvida quanto a restringir apenas o editar usuário por exemplo, posso usar a diretiva @can @endcan, mas como faço isso na controller?

Manager Carlos Ferreira 13/01/2022

Olá, Albert!
Tudo bem?

É bem simples fazer isso amigo.

Você pode fazer uma verificação no próprio método por exemplo:
Gate::authorize('update-register', $data);

Se o usuário não tiver autorização para atualizar o registro, estoura uma exception na cara dele.

Outra alternativa é tratar, exemplo:
if (! Gate::allows('update-register', $data)) {
    // aqui vc pode redirecionar...
}

Curso completo sobre: https://academy.especializati.com.br/curso/laravel-microservices-autenticacao-autorizacao-acl

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!