Determinar se o usuário atual está autenticado

Determining If Current User Is Authenticated



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 .

Rota::filtro('hóspede', função()
{
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.