Como usar Gates em Classes Requests Diferentes?
[Concluído]
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 store e update, 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.
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?
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.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!