[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Rudimar Kaspar
Criador Rudimar Kaspar 06/06/2023

Bom dia professor, tudo bem?
Parabéns pelo conteúdo do curso, super didático e prático.

Surgiu uma dúvida quando a implantação da Gates no método authorize da classe de FormRequest StoreUpdateSupport.

Na classe SupportController a StoreUpdateSupport é utilizada apenas nos métodos storeupdate, até aí tudo certo, mas se vou implementar um gate no authorize da StoreUpdateSupport para liberar ou não o acesso do usuário ao recurso, como eu aplicaria gates para os demais métodos da SupportController (index,show e destroy)? Já que estes métodos não utilizam a classe de Requests StoreUpdateSupport.

Devo criar um nova classe de Request para implementar o gate dentro do seu respectivo authorize? ou Posso fazer um gate direto na controller?

Implementei as Services Layers, DTO e Repositories, para deixar meu código mais robusto e organizado.

Desde já agradeço pela atenção!
Forte abraço.

 

Manager Carlos Ferreira 06/06/2023

 Olá, Rudimar!
Tudo bem?

Obrigado pelo feedback, gratidão amigo. TMJ!

--

Tem uma estretégia diferente, uma das várias alternativas é aplica diretamente no controller, via middleware, exemplo:
https://github.com/especializati/larafood/blob/master/app/Http/Controllers/Admin/CategoryController.php#L18

Dessa forma ainda é possível passar a validação "gate" em métodos específicos, exemplo, apenas nos métodos edit e update:
$this->middleware('can:create-resource')->only([
    'create',
    'store',
]);

Pegou a ideia? Era isso mesmo que precisava?

Carlos Ferreira
Criador Rudimar Kaspar 06/06/2023

Oi professor, obrigado pelo retorno!

Vou dar uma conferida no material do curso Larafood, acho que ele segue a mesma ideia que tenho, de se criar um perfil de permissionamento dinâmico.

Qualquer coisa, eu posto aqui.

 

Abraço.

Rudimar Kaspar
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!