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
Use Auth::check()
.
O Auth::check()
método retorna verdadeiro ou falso.
E se (Auth::Verifica())
{
jogou fora '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 possui o id de um usuário. Nesse caso, será feita uma tentativa de recuperar o usuário do banco de dados.
Se isso falhar, o Laravel verifica o cookie de lembrar de mim. Se isso estiver presente, então, mais uma vez, será 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/filters.php
.
{
E se (Auth::Verifica()) RetornaRedirecionar::para('/');
});
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.