Controle AppServiceProvider
[Concluído]
Boa tarde Professor e amigos. Tudo bem?
Estou passando uma dificuldade aqui, e acredito que seja algo sobre cache ou algo do tipo...
Acima é o código, se for profissional e estiver ativo e estiver contratado ele continua com o login.
ele não está funcionando corretamente, queria saber se o if em linha com operadores ternários está correto... talvez tenha algo que eu ainda não consegui enxergar...
Apenas corrigindo o codigo está no AuthServiceProvider.
Ele pegou a condição "&&" para validar o status == active , agora mesmo que eu retire isso ele está validando, não importa nem se eu comentar o código todo, ele fica validando a regra, mesmo sem ter regra.
Estou utilizando o setup docker desde o inicio com redis... não se se pode ser ele...
Olá, Ubiratan!
Tudo bem?
Como você usou esse gate?
Gate::define('profissional', function($user) {
return $user->profile=='profissional' && $user->status=='active' && $user->contratado=='sim';
});
if (! Gate::allows('profissional', $user) {
abort(403);
}
Bom dia professor... tudo bem?
Não entendi a pergunta de como utilizou o GATE, eu utilizei ele para controle de menu, e controle pós login no @can , não sei se entendi muito bem a pergunta.
vou colocar a imagem do código dos dois arquivos appServiceProvider e authServiceProvider, em nenhum e nem no outro funciona, e a regra está atuando no login... vou colocar as imagens de cada arquivo... Eu não sei o que aconteceu... ja verifiquei tudo
AppServiceProvider: https://uploaddeimagens.com.br/imagens/rF84MLI
AuthServiceProvider: https://uploaddeimagens.com.br/imagens/OFkhinA
Obs. o Gate Administrador funciona só esse profissional que nào funciona.
os campos na tabela user esão todos funcionando, profile, contratado e status... quando o status está (status:inactive) ele obedece a regra e não deixa fazer o login, ele não reconhece a terceira condição contratado == sim/nao/null. reconhece apenas as duas iniciais, está puxando essa informação de algum lugar que não sei onde ele está lendo... lembrando que mesmo deixando tudo comentado do profissional ele aplica a regra.
complementando a dificuldade enfrentada acima segue o debug do Auth::user()
não deveria fazer o login.
https://uploaddeimagens.com.br/imagens/usqBOLw
imagem que não carregou antes, DEBUG auth::user()
JESUS, MARIA E JOSÉ!!!
PERDÃO PESSOAL!!!
Recorri ao GIT e fui verificar todos os controles que fiz desde o inicio do sistema... encontrei o Auth:guard ... Puxa... agora fiquei feliz... SANTO GIT...
Abençoa Jesus, esse merece!!!
Gratidão professor e colegas!!!
Wohoooo... bora pra frente...
Que bom que conseguiu resolver, vou finalizar o ticket, qualquer dúvida, retorne o chamado! :-)
Professor, apenas para dar um feedbac para fechar o chamado...
Agora integrei o GATE, eu não estava utilizando ele apesar de ter feito as configurações, isso que deu a maior confusão...
Estou utilizando
if (! Gate::allows('profissional', $user) {
abort(403);
}
Deu certinho.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!