[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

Boa tarde Professor e amigos. Tudo bem?

Estou passando uma dificuldade aqui, e acredito que seja algo sobre cache ou algo do tipo...

Gate::define('profissional', function($user) {
            return $user->profile=='profissional' && $user->status=='active' && $user->contratado=='sim'
                ? true
                : false;
        });

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...


 

 

 

Criador Ubiratan Lima 31/01/2024

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.

Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

Estou utilizando o setup docker desde o inicio com redis... não se se pode ser ele...

Ubiratan Lima
Manager Carlos Ferreira 31/01/2024

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);

}

Carlos Ferreira
Criador Ubiratan Lima 31/01/2024

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.

Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

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.

Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

complementando a dificuldade enfrentada acima segue o debug do Auth::user()

não deveria fazer o login.

Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

https://uploaddeimagens.com.br/imagens/usqBOLw

imagem que não carregou antes, DEBUG auth::user()

Ubiratan Lima
Criador Ubiratan Lima 31/01/2024

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...

 

Ubiratan Lima
Manager Carlos Ferreira 31/01/2024

Que bom que conseguiu resolver, vou finalizar o ticket, qualquer dúvida, retorne o chamado! :-)

Carlos Ferreira
Criador Ubiratan Lima 31/01/2024

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.

 

Ubiratan Lima
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!