Dificuldade com autorização ou permissão (GATE, CAN, middleware)
[Concluído]
Boa noite, não estou conseguindo fazer funcionar as autorizações na rota. arquivos utilizados abaixo:
AuthServiceProvider
route
Se eu deixo apenas um funciona, mas se separo com virgula não funciona o segundo. tentei utilizar o ->can('administrador','atendente'); e tambem não funcionou. não estou conseguindo dar a permissão correta nas rotas.
Eu encontrei uma solução para utilizar apenas um nome na diretriz CAN, não sei se é a melhor forma de fazer, mas funcionou.
nos pontos que precido do admin e do atendente eu dei a permissão do admin tambem no item do atendente, porém na validação da regra.
Se alguem tiver outra solução, eu gostaria de utilizar a forma da documentação, mas não estou conseguindo por exemplo nas rotas
->can('user1','user2');
Acredito que não tenha entendido corretamente a documentação do Authotizations.
minha solução:
Fico no aguardo de alguma outra solução.
Gratidão.
Olá, Ubiratam!
Tudo bem?
Primeiro uma sugestão, pode deixar assim, vai ter o mesmo efeito e ainda vai deixar o seu código mais enxuto:
Gate::define('atendente', function(User $user) {
return $user->profile=='atendente';
});
Se tiver usando PHP 8, pode fazer assim:
Gate::define('atendente', fn (User $user) => $user->profile=='atendente');
Para usar os middlewares nas rotas, precisa fazer assim:
->middleware([
'can:administrador',
'can:atendente'
]);
TOP Gratidão... estava utilizando o Can errado. Gratidão... está ficando legal o sistema... mas confesso que vou precisar aplicar VUEJS para otimizar muito a velocidade. apenas de ser pequeno e rápido o sistema, com o crescimento, ele vai pesar... Ja fiz o curso do VueJS, mas vou ter que relembrar muita coisa, pois não tive muita prática...
Gratidão! Parabéns!!! Vou fazer muitos mais contigo.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!