Ensuite, essayons d'ouvrir une session en tant que ce mot-clé de temps de pomme de terre de la batte alors nous essayerons et éditer celui-ci et il fonctionne et nous devrions pouvoir mettre à jour ceci juste l'amende ainsi nous pouvons essayer cela.
Débarrassons-nous des points d'exclamation.
Soumettre et il met à jour il n'y a pas de ponctuation à la fin de sourire à la mienne.
OK, nous allons simplement l'appliquer à la mise à jour.
Nous ne voulons pas que quelqu'un soit en mesure de mettre à jour quelque chose aussi bien, ce n'est pas seulement de voir le formulaire, mais il s'agit de faire la mise à jour, nous voulons protéger les deux et supprimer.
Maintenant, n'importe qui peut le faire, mais dès que je redémarre le serveur et j'essaie de rafraîchir.
Actuellement, je ne suis pas connecté si je clique sur supprimer me ramène ici dès que je me connecte et n'oubliez pas que cela se produit en raison de redstart redirection retour.
Alors, fera Taito tête de nouveau.
Mot de passe
Maintenant, si j'essaie de supprimer celui-ci, il fonctionne très bien.
Et maintenant il a perdu un autre terrain de camping précieux et nous sommes presque hors d'eux pour jouer avec.
Donc, c'est notre milieu où nous l'avons configuré correctement maintenant, nous avons vérifié la propriété de camping qui vérifie l'utilisateur connecté à tous si elles ne sont pas alors redirection et éventuellement aura un message d'erreur différent de sorte qu'il va dire quelque chose comme Vous devez Être connectés en premier et ensuite s'ils sont connectés.
Mais ils ne possèdent pas le terrain de camping, alors nous aurons un message différent qui dit que vous n'avez pas la permission de le faire ou qui n'est pas le vôtre pour supprimer quelque chose comme ça et puis la ligne importante est la prochaine ici.
Donc, si l'auteur du terrain de camping ID point égal ne peut pas faire la culture de Tripoli parce que nous devons faire Doddie cours parce que le fait qu'il s'agit d'une chaîne et c'est un objet objet mongoose objet donc ce n'est pas comparable à une chaîne et donc d'utiliser le Construit en égale méthode qui vient avec les singes.
Ensuite, nous passons à la suivante qui est quel que soit le code que nous avons à l'intérieur du gestionnaire de droite.
Donc, nous fonctionnons si cela fonctionne.
Nous courons cela.
Ce qui est le suivant.
Ou dans ce cas nous courons ceci.
Ce qui est le suivant.
Et dans le cas de la mise à jour nous exécutons ceci.
OK, nous allons économiser.
Nous avons une chose de moins qui serait agréable à faire.
Ce qui serait de cacher ces boutons.
Si je ne suis pas connecté je ne devrais pas être en mesure de voir un bouton edit delete.
Pratiquement aucun site Web là-bas qui a ce type d'autorisation que ce soit vous montrer ce bouton.
C'est juste une mauvaise expérience utilisateur si vous pensez que vous pouvez faire quelque chose, mais vous ne pouvez pas.
Donc nous voulons le cacher et tout ce que nous devons faire est d'aller à notre modèle de sorte que soit le modèle d'exposition et à l'intérieur d'ici nous devons trouver ces deux boutons ici.
Ensuite, nous ajoutons une instruction if et je vais juste écrire une instruction vide pour commencer comme les parenthèses correctes.
Juste comme ça et l'indentation juste pour le rendre plus facile à lire et tout ce que nous voulons faire est de vérifier si l'utilisateur connecté possède le camping actuel sur la page d'affichage et c'est simple à faire.
Nous pouvons juste ajouter exactement le même code que nous avons vu ici dans notre middleware sauf qu'il doit être légèrement différent, mais la même idée.
Si je colle ceci dans nous pouvons suivre cela plutôt que le terrain de camping trouvé dans le modèle.
Nous appelons cet auteur du terrain de camping point ID point égal et nous n'avons pas réellement l'accès pour demander que l'identification d'utilisateur mais se rappellent que nous avons l'utilisateur courant que nous avons installé.
Et si vous ne vous rappelez pas quand et où nous l'avons mis en place je vais vous montrer brièvement.
C'est à l'intérieur de notre appartement.
Oui, nous descendons à cela et vous jeter un coup d'oeil ici.
Lire des articles locaux.
L'utilisateur actuel est la demande à l'utilisateur et qui est ajoutée à chaque modèle unique.
Chaque itinéraire aura l'utilisateur courant disponible dans le modèle égal à l'utilisateur actuellement connecté pour que l'utilisateur actuel ne l'ID de soulignement.
Faisons un coup.
Maintenant, assurez-vous que nous ajoutons dans le reste de l'instruction if parenthèses.
Et si nous rafraîchissons.
Vous voyez que nous avons un problème et ce qui se passe, c'est que nous n'avons pas un utilisateur actuel en ce moment.
Donc, parce qu'il n'y a personne signé dans l'utilisateur actuel fait souligner ID est problématique.
Il ya donc un moyen simple de vérifier que vous voulez vérifier en premier.
Y at-il un utilisateur actuel.
Si il ya alors nous allons vérifier si cet utilisateur possède ce.
Donc pour éviter l'erreur.
Tout ce que nous devons faire, c'est si l'utilisateur actuel et l'ID de l'auteur du camping sont égaux à l'ID de l'utilisateur actuel, n'oubliez pas que si c'est faux.
Donc, si l'utilisateur actuel est indéfini s'il est vide.
Si c'est quelque chose qui est falsie nous ne passons jamais au reste de cela parce que la façon dont une instruction AND fonctionne, c'est qu'elle exige que les deux côtés soient vrais.
Ce sont donc des courts-circuits.
Si c'est faux et nous ne l'évaluons jamais, mais si l'utilisateur actuel est quelque chose n'importe quel objet d'utilisateur n'importe quoi qui n'est pas falsie si c'est l'utilisateur approprié ou non.
Ce sera vrai et puis cela va vérifier si l'utilisateur possède réellement le terrain de camping.
Donc, si nous essayons de nouveau rafraîchir.
En ce moment nous ne voyons pas les boutons mais si je me connecte en tant que tête de pomme de terre à plus d'info je ne voient ces boutons et vérifient juste tout encore fonctionne.
Appelons-le Sunset Lake.
Soumettre et tout fonctionne toujours très bien.
Génial.
Reprenons un peu ce que nous avons fait ici.
Plus important encore, dans cette dernière leçon, nous nous sommes concentrés sur l'autorisation qui est différente de l'authentification.
L'authentification est juste l'enregistrement en vérifiant pour voir si vous êtes qui vous dites que vous êtes.
Alors que l'autorisation est des autorisations différentes ou des autorisations de sécurité que vous voulez y penser car c'est ce qu'un utilisateur qui est connecté peut faire ce qu'ils sont autorisés à faire.
Donc, dans notre cas, nous sommes allés d'avoir quelqu'un à tous être en mesure de supprimer et mettre à jour tout camping.
Mais maintenant, seuls les utilisateurs possédant un terrain de camping peuvent supprimer une mise à jour et la dernière chose que nous avons faite était de cacher les boutons.
Selon si vous êtes connecté ou non.
Et nous avons protégé trois routes différentes qui ont été ajoutées il ne semble mise à jour ici et supprimer ou détruire.
Et c'était en utilisant notre middleware de propriété de terrain de camping de chèque que nous avons défini pour l'instant, c'est juste en bas de ce fichier.
Impressionnant.
Dans la leçon suivante, nous allons nous concentrer sur les choses similaires pour les commentaires afin que vous puissiez mettre à jour un commentaire et supprimer un commentaire, puis nous allons nous concentrer sur l'autorisation de nouveau en s'assurant que seules les personnes possédant un commentaire peut le mettre à jour ou le supprimer.