[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Rangel
Criador Rangel 20/04/2020

Professor, ainda não descobri o pq que cai em um loop infinito quando chamo esse middleware e atende a condição da função ser === '4'

 

 
public function handle($request, Closure $next)
{
if(!Auth::check()){
return redirect()->route('login');
}else{
if(Auth::user()->funcao === '4'){
return redirect()->route('consultor');
}else{
return $next($request);
}
}
}
}
Criador Rangel 20/04/2020

A rota:

Route::middleware('auth', 'checaUsuario')->namespace('consultor')->group( function(){
Route::get('/consultor', 'consultorController@index')->name('consultor');
});
Rangel
Criador Rangel 20/04/2020

Vou reabir o tópico, ainda continua o erro...

Rangel
Criador Rangel 20/04/2020

se eu chamar o middleware checaUsuario em mais de um grupo de rotas, ele sempre em retorna um loop

Rangel
Manager Carlos Ferreira 20/04/2020

Olá, Rangel!
Tudo bem?

Você tem esse projeto no GitHub, para eu poder dá uma olhada?

No aguardo.

Carlos Ferreira
Criador Rangel 20/04/2020
Rangel
Manager Carlos Ferreira 20/04/2020

A sua lógica não dá certo, porque as rotas "empresa" e "consultor" também passa pelo middleware, e por isso sempre vai ficar no loop.

Carlos Ferreira
Criador Rangel 20/04/2020

Entendo. Então eu terei que fazer um middleware para saber se o cara é admin, outro para saber se é empresa e outro para consultor? Não dá para fazer um que sirva as 3 rotas?

Rangel
Manager Carlos Ferreira 20/04/2020

Você até pode fazer assim, porém não pode aplicar esse middleware nas rotas "empresa" e "consultor".

OU, dentro do if do middleware validar se a rota que está acessando já não é "empresa" ou "consultor", ou seja, caso já esteja na rota não redireciona novamente.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!