Problema
Você quer ver se um usuário está logado.
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 ()
método retorna verdadeiro ou falso.
echo "Yay! Você está logado.";
Discussão
Várias coisas acontecem nos bastidores quando você faz isso.
Primeiro o 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, o Laravel verifica o cookie "lembrar de mim". Se estiver presente, então, 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 é retornado verdadeiro.
O filtro 'convidado' usa este método
O Laravel fornece uma implementação padrão do filtro de convidado em app / filtros.php
.
if (Auth :: check ()) return Redirect :: to ('/');
);
Esta implementação padrão é usada quando você deseja adicionar um filtro a uma rota que só pode ser acessada por convidados (também conhecidos como usuários que não estão logados). Se um usuário estiver conectado, ele será redirecionado para a página inicial.