3
respostas

Authenticate - validando se o usuario esta logado

Olá galera estou com um problema na hora de validar autenticação, estou usando o Laravel 5.2.39 e utilizando ja a classe Authenticate criada pelo artisan na hora de digitar no terminal php artisan make:Auth.

public function handle($request, Closure $next, $guard = null) {

     if (!$request->is('login') && Auth::guard($guard)->guest()) {
         if ($request->ajax() || $request->wantsJson()) { 
            return response('Unauthorized.', 401);
         } else {
             return redirect()->guest('login'); 
        }
     }

    return $next($request); 
}

faço a comparação com !$request->is('login') se a request não for login, antes deu logar tudo funciona o problema e quando eu logo no sistema fica aparecendo este erro:

A página de localhost não está funcionando

Redirecionamento em excesso por localhost Tente: Atualizar a página Limpar os cookies ERR_TOO_MANY_REDIRECTS

por favor me ajudem.

3 respostas

Olá Victor, a mensagem ERR_TOO_MANY_REDIRECTS indica que está acontecendo um loop de redirecionamentos, verifica se a página que você redireciona quando o usuário está logado não gera outro redirecionamento para a mesma página.

Espero ter ajudado, qualquer coisa estou a disposição.

Abraços e bons estudos.

Tive um problema similar, em um código próprio. Acredito que a solução seja, no seu caso, esta:

public function handle($request, Closure $next, $guard = null) { if (Auth::guard($guard)->guest()) { if ($request->ajax() || $request->wantsJson()) { return response('Unauthorized.', 401); } else { if (!$request->is('login')){ return redirect()->guest('login'); } } } return $next($request); }

Tive um problema similar, em um código próprio. Acredito que a solução seja, no seu caso, esta:

public function handle($request, Closure $next, $guard = null)
 {
     if (Auth::guard($guard)->guest()) { 
        if ($request->ajax() || $request->wantsJson()) { 
            return response('Unauthorized.', 401); 
        } else { 
        if (!$request->is('login')){ 
            return redirect()->guest('login'); 
        }
     } 
} 
    return $next($request); 
}