Déterminer si l'utilisateur actuel est authentifié

Determining If Current User Is Authenticated



Problème

Vous voulez voir si un utilisateur est connecté.

Vous savez que Laravel garde automatiquement l'utilisateur authentifié dans la session. Vous voulez vérifier si la demande actuelle a un utilisateur connecté et authentifié.







Solution

Utilisez |_+_|.



Le |_+_| la méthode renvoie vrai ou faux.



si (Authentification::Chèque())
{
chassèrent 'Yay! Vous êtes connecté.';
}

Discussion

Plusieurs choses se produisent dans les coulisses lorsque vous faites cela.





Laravel vérifie d'abord si la session en cours a l'identifiant d'un utilisateur. Si tel est le cas, une tentative est effectuée pour extraire l'utilisateur de la base de données.

Si cela échoue, Laravel recherche le cookie se souvenir de moi. Si c'est le cas, une nouvelle tentative est effectuée pour récupérer l'utilisateur de la base de données.



Ce n'est que si un utilisateur valide est extrait de la base de données que true est renvoyé.

Le filtre « invité » utilise cette méthode
Laravel fournit une implémentation par défaut du filtre d'invité dans |_+_|.

Route::filtre('invité', fonction()
{
si (Authentification::Chèque()) revenirRéorienter::à('/');
});

Cette implémentation par défaut est utilisée lorsque vous souhaitez ajouter un filtre à une route qui n'est accessible que par les invités (c'est-à-dire les utilisateurs qui ne sont pas connectés). Si un utilisateur est connecté, il est redirigé vers la page d'accueil.