Nous saluons le retour.
Dans cette vidéo, nous allons nous concentrer sur l'obtention de la barre NAF pour afficher correctement les liens afin que lorsque vous n'êtes pas connecté vous ne voyez se connecter et s'inscrire.
Mais lorsque vous êtes connecté, vous ne voyez que se déconnecter et ensuite nous pouvons également afficher un petit message qui indique signé en tant que.
Et puis le nom d'utilisateur signé dans plusieurs signé en repos manger ce qu'il est.
Au début, il avait tout cela à la fin de la partie pour la vidéo et j'ai commencé à le déplacer dans une vidéo séparée afin qu'ils puissent passer un peu plus de temps à entrer dans certains détails et expliquant comment une partie de cela fonctionne.
Alors, commençons.
Et ce que je vais faire, c'est ouvrir Hetter.
Oui.
Et voici les trois lignes qui sont responsables de ces trois liens ici.
Connectez-vous inscrivez-vous déconnectez-vous afin de vous cacher et de les montrer de façon appropriée.
Nous avons besoin d'ajouter quelques E.J. Esque logique.
Nous allons avoir une déclaration if qui ressemble à ça.
C'est juste un pseudo-code.
Mais si aucun utilisateur ne s'affiche alors, connectez-vous et enregistrez-vous et alors vous verrez le lien de déconnexion.
Bien sûr, ce n'est pas vrai javascript.
Nous devrons travailler là-dessus.
Mais ce que nous allons faire est de passer une variable comme nous l'avons fait ici où nous passons en camping ou nous le faisons à temps ici repassing terrain de camping à moins que nous allons passer un objet utilisateur et que l'utilisateur sera Contiennent des informations sur l'utilisateur connecté ou s'il n'y a pas d'utilisateur connecté.
Il sera vide non défini et nous pouvons utiliser cette variable utilisateur au lieu de notre modèle.
Donc si c'est indéfini.
Nous allons vérifier si l'utilisateur est indéfini.
Montrez-les autrement montrer le journal au lien.
Alors commençons par trouver comment pouvons-nous obtenir ces données sur l'utilisateur.
Et je vais commencer sur l'un de ces itinéraires et je vais faire la page d'accueil des campings qui est ici après avoir obtenu des terrains de camping slash parce que c'est un itinéraire simple et agréable et beaucoup de notre code redirige vers cette route.
Et le secret de tout cela, la partie importante est la demande d'utilisateur direct.
Demandez donc à l'utilisateur de contenir toutes les informations.
Eh bien pas tout cela, mais le nom d'utilisateur et l'ID de l'utilisateur actuellement connecté.
Alors je vais vous montrer.
Faisons juste une annulation que les requêtes de journal à l'utilisateur et démarrent le serveur vers le haut et alors je vais aller rafraîchir.
Et nous obtenons undefined.
Et c'est parce qu'il n'y a pas d'utilisateur actuellement connecté.
Demandez donc aux utilisateurs de vider.
Il n'existe pas.
Mais alors, une fois que je me connecte ce que le passeport va faire est de créer des requêtes que l'utilisateur d'entrer les données utilisateur juste le nom d'utilisateur et l'ID pas le mot de passe ou rien d'autre que le nom d'utilisateur et l'ID à l'intérieur de l'utilisateur demande.
Donc, un log dans le mot de passe de Severus cliquez sur le login Permet d'aller regarder, vous pouvez voir que c'est maintenant demander à cet utilisateur.
Ça va être vraiment utile pour nous dans nos modèles.
Je vais donc passer cela maintenant.
Débarrassez-vous de cela.
Et puis après les terrains de camping nous aurons juste une autre variable Akol utilisateur actuel qui est égal à demander l'utilisateur.
Et puis dans notre modèle, nous pouvons écrire une logique simple qui vérifie s'il ya un utilisateur actuel.
Et puis dans notre modèle, nous pouvons ajouter une logique très simple en utilisant la variable utilisateur actuelle.
So let's save et allons à l'index que.
Oui.
Quel est l'indice des terrains de camping et juste au sommet.
Ajoutons simplement un petit H pour cela, il suffit d'imprimer l'utilisateur actuel et de redémarrer le serveur.
Et si je vais maintenant, nous ne voyons rien, mais si je me connecte plusieurs fois encore, je vois maintenant l'utilisateur actuel.
Donc, nous passons maintenant ces données dans notre modèle, mais plutôt que de l'utiliser au lieu de ce modèle d'index, nous voulons l'utiliser à l'intérieur du modèle de barre de navigation, l'en-tête.
Et n'oubliez pas que nous avons accès à l'une des variables que nous passons à travers notre modèle.
Même à l'intérieur de Parshall's.
Donc, à l'intérieur de chaque nous, nous allons ajouter une déclaration if et il ressemble à cela.
S'il n'y a pas d'utilisateur actuel, nous pourrions faire cela, puis afficher ces deux liens, puis nous aurons notre autre afficher le lien de déconnexion et puis bien sûr nous avons besoin de nos tags Ejaz.
Alors ne faisons pas de signes égaux comme ça.
Et nous sommes presque terminés, donc nous vérifions si une variable utilisateur actuelle est vide alors nous allons les montrer.
Sinon, nous afficherons le lien de déconnexion.
Mais cela ne fonctionnera à l'heure actuelle au moins sur cette route slash terrains de camping parce que nous ne passons pas l'utilisateur actuel à travers sur d'autres routes.
Mais assurez-vous que cela fonctionne.
Je vais donc redémarrer l'application si je rafraîchis la page.
Génial.
Je ne vois que se connecter et s'inscrire et c'est parce que je ne suis pas connecté.
Maintenant, si je clique sur l'ouverture de session, nous aurons un problème qui est que nous avons le fichier d'en-tête et il essaie d'utiliser l'utilisateur actuel, mais nous n'avons pas passer l'utilisateur actuel à travers.
Donc, en fait, cela se passera sur n'importe quelle route qui ont maintenant sont Ackbar parce que nous ne passons pas l'utilisateur actuel à travers sauf sur slash Capgras.
Donc ce que nous voulons faire est de passer l'utilisateur actuel à travers essentiellement cette ligne ici sur chaque itinéraire unique.
Et sur certains d'entre eux il pourrait être vide certains d'entre eux auront des données utilisateur, mais nous voulons qu'il soit disponible sur chaque itinéraire.
Et il ya un moyen facile de faire que nous n'avons pas à ajouter manuellement à chaque itinéraire unique et en haut avant nos itinéraires juste pour ajouter une autre mise à jour après utilisation et nous allons ajouter notre propre middleware peu.
Quelle que soit la fonction que nous lui fournissons sera appelée sur chaque itinéraire.
Donc, nous allons lui donner une réponse à la demande de fonction et nous avons besoin de cette variable suivante aussi.
Et ce que nous voulons faire est de passer cette demande à l'utilisateur à chaque modèle unique et il ya un moyen facile de le faire.
Sake rez locaux.
L'utilisateur actuel demandent à l'utilisateur ce que nous mettons dans le repos à local est ce qui est disponible au lieu de notre modèle et alors l'autre chose vraiment importante est vous devez passer au code suivant réel parce que c'est un middleware qui fonctionnera pour chaque voie simple.
Si nous n'avons pas cette prochaine, il va juste s'arrêter.
Rien ne se produira ensuite alors nous avons besoin d'avoir le prochain afin de passer à ce prochain middleware qui sera en fait le gestionnaire d'itinéraire dans la plupart des cas.
Donc, si nous essayons ce redémarrage, le serveur actualise la page.
Cela devrait fonctionner très bien.
Si je vais me connecter, j'ai maintenant le formulaire de connexion et je ne reçois pas d'erreur.
Et je vois les bons liens parce que je ne suis pas connecté.
Maintenant si je me connecte comme sÃ¨vres encore je ne vois que déconnecter grand et essayer de cliquer sur déconnecter.
Impressionnant.
Donc ça marche.
La dernière chose que je voulais faire, c'est que lorsque vous êtes connecté, nous allons le faire une fois de plus.
Vous voulez voir ici plutôt que de vous connecter et de vous inscrire.
Vous voulez voir actuellement connecté en tant que Zephyrus et c'est assez facile à faire.
Au lieu de notre tête chacun.
Oui, nous avons déjà l'utilisateur actuel, donc s'il ya un utilisateur actuel dans cette autre, nous allons simplement ajouter un autre allié et que Ally va simplement ajouter dans le texte.
Faisons signé en tant que.
Et puis nous avons juste interpréter ou nous ajoutons avec chacun comme des balises.
Utilisateur actuel nom d'utilisateur et sauver redémarrer et nous allons voir comment cela ressemble.
Nous pourrions avoir besoin de style un peu rafraîchir.
Mentir à nouveau.
Signé en tant que Severus.
Et oui, nous voulons le style que.
Alors nous allons faire une balise d'ancrage comme les autres et nous allons juste ne pas lui donner une réf H afin que vous puissiez obtenir le doigt de la marque Atra équivaut juste le signe de la livre.
Il pourrait avoir un sens pour que ce soit effectivement un lien vers la page de profil que nous n'avons pas.
Mais si nous avions des pages de profil, vous pouvez cliquer dessus et cela vous mènerait à votre profil, mais c'est très bien pour l'instant.
Donc se déconnecter qui devrait s'en aller.
Essayons d'enregistrer et voir comment cela fonctionne.
Alors je vais m'inscrire comme Mme Purple et le mot de passe sera violet.
Inscrivez-vous et re connectez-vous en tant que Mme Purple et nous pouvons vous déconnecter et nous allons tout vérifier tout.
Que si j'essaie d'ajouter un nouveau commentaire, j'y ai accès, mais si je me déconnecte et que j'essaie de le faire, je ne peux pas.
Il m'a demandé de me connecter en premier.
OK donc nous sommes officiellement fait avec les bases de l'ajout d'auth à Joachim.
Prenons un moment pour examiner les nouvelles choses que nous avons vu dans cette leçon.
En particulier à l'aide de la demande de l'utilisateur que nous définissons ici demande que l'utilisateur sera soit vide si personne n'a signé dans ou il contiendra le nom d'utilisateur dans l'ID de l'utilisateur actuel, nous utilisons une après utilisation qui appellera cette fonction sur Chaque enveloppe unique, donc c'est une bonne façon de sécher ou de code où nous n'avions pas à aller et faire cela sur chaque itinéraire et nous pouvons effectivement s'en débarrasser maintenant parce que nous sommes en passant par l'utilisation ou après 8 ans et puis L'autre chose est que, dans notre modèle, nous venons d'écrire une simple déclaration IF et de combiner cette logique avec chaque TM Peut être vraiment puissant.
Nous pouvons afficher et masquer ces boutons.
Nous pouvons montrer qui est actuellement connecté.
Truc vraiment important.
OK, c'était un peu marathon.
Cinq sections différentes mais nous l'avons obtenu pour travailler.
Nous avons d'abord créé les modèles d'utilisateurs.
Nous avons créé les formulaires d'inscription et les itinéraires d'inscription, puis nous avons ouvert une session, puis nous avons terminé la session et ensuite nous avons travaillé sur la barre de navigation et affiché et masqué les liens et affiché l'utilisateur actuellement connecté.