Determinando se o usuário atual é autenticado

Determinando se o usuário atual é autenticado

Problema

Você quer ver se um usuário está conectado.

Você sabe que o Laravel mantém automaticamente o usuário autenticado na sessão. Você deseja verificar se a solicitação atual tem um usuário conectado e autenticado.

Solução

Usar Auth :: check ().

O Auth :: check () o método retorna verdadeiro ou falso.

if (auth :: check ())

eco "yay! Você está conectado.";

Discussão

Várias coisas acontecem nos bastidores quando você faz isso.

Primeiro Laravel verifica se a sessão atual tem o ID de um usuário. Nesse caso, é feita uma tentativa de recuperar o usuário do banco de dados.

Se isso falhar, então o Laravel verifica o cookie "lembre -me". Se estiver presente, mais uma vez é feita uma tentativa de recuperar o usuário do banco de dados.

Somente se um usuário válido for recuperado do banco de dados for verdadeiro retornado.

O filtro 'convidado' usa este método
Laravel fornece uma implementação padrão do filtro de convidado em aplicativo/filtros.php.

Route :: filtro ('Guest', function ()

if (auth :: check ()) return redirect :: to ('/');
);

Essa implementação padrão é usada quando você deseja adicionar um filtro a uma rota que é acessível apenas pelos convidados (também conhecidos como usuários que não estão conectados). Se um usuário estiver conectado, ele será redirecionado para a página inicial.