Découvrir ASP.NET Core 1.0

Préserver les données utilisateur

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Grâce au middleware de session et à une classe métier dédiée, conservez les données attachées à l'utilisateur. Dans cette séquence, vous verrez comment préserver les favoris.
06:36

Transcription

Nous allons maintenant voir comment ajouter un système de sessions dans notre application, de façon à pouvoir gérer une persistance entre deux requêtes. Prenons l'exemple des favoris. Notre utilisateur choisit d'ajouter à ses favoris. Il est pas encore authentifié, on peut pas stocker ça en face de son compte en base de données. Et donc il faut stocker en face d'un cookie qu'on lui mettra sur son ordinateur et donc gérer en fait une session comme on le fait d'habitude dans d'autres langages web. Il faut donc pour cela que l'on ajoute un package, une dépendance à notre application. Donc on le fait au travers du gestionnaire de package, comme on l'a fait jusqu'à maintenant. Voilà. Donc c'est installé. On peut donc maintenant activer ce module au démarrage, comme on l'avait fait par exemple pour les données avec Entity Framework. Donc ici, on va rajouter le module au chargement. Et puis, dans la configuration, l'activer. UseSession Alors, cet objet session est un peu particulier, il permet de stocker des données. Alors ici, j'ai préparé une classe qui va nous permettre de l'utiliser, et de stocker des identifiants de sortilèges qu'on ajoute aux favoris. Un sortilège on veut le garder, et si on ajoute deux, on veut garder les deux. Donc, on aura une liste d'identifiants de sortilèges. Et donc j'ai fait une classe avec des Ajouter, Retirer, Contient Nombre, pour savoir le nombre d'éléments favoris. Et tout ça, donc, ça manipule directement la session. Alors, la session est un peu particulière, disais-je, parce que elle fait des SetString et GetString, Elle ne manipule que des chaînes. On aurait pu aussi réaliser un objet éventuellement en JSON. C'était un peu lourd, juste pour une liste d'identifiants. Donc là, ce sera juste une liste d'identifiants concaténés par des pipes, des caractères spéciaux. Et comme ça, recherchant l'identifiant, on sait qu'on l'a ou pas dans la session. Maintenant cet objet est fait, et on peut l'utiliser directement. Alors, dans un nouveau contrôleur qu'on va écrire, qui va nous permettre de gérer les favoris. Donc, un nouveau contrôleur, FavorisController. Ne va pas, ce contrôleur, forcément ajouter des vues, mais permettre juste de gérer les actions sur les favoris de façon un peu isolée dans notre programme. Donc on va lui demander d'ajouter un élément, il le fera, dans la liste des favoris. Et puis qu'on va lui demander de retirer un élément il va le retirer dans la liste des favoris. Comme l'ajout et le retrait se font dans l'index, on va rediriger vers l'index une fois que l'opération est faite. Et puis on fait la même chose, mais ici on fait pas ajouter, on fait retirer. Alors, retirer et ajouter sont protégés contre les ajouts éventuellement d'identifiants qui sont déjà dans la liste des favoris, pour pas avoir de doublons, et donc des bugs rattachés. Ici, il vérifie avant d'ajouter. Donc, on a un nouveau contrôleur, mais maintenant qu'il fonctionne, il a pas de vue rattachée. On peut maintenant donc, dans Home, préparer juste le ViewData dans Index, pour qu'il ait aussi donc nos favoris, quand-même. Et donc on instancie aussi notre objet. New ListeFavoris. View context. Donc, comme vous l'avez remarqué, mais je n'ai pas insisté dessus donc je vais insister dessus, pour récupérer la session depuis un contrôleur, il suffit de faire HttpContext.Session. Et donc je le passe à ma liste de favoris, qui, elle, sait quoi en faire pour gérer les favoris. Donc le ViewData contient bien les données. On peut aller dans la vue pour l'exploiter Alors, la vue. Ici. On va initialiser notre liste favoris. eGrimoire, peut être ça sera mieux, avec modèle voilà, favoris. On va l'appeler Favoris. Comme ça on l'aura dans toute la page. Et le View Data de Favoris. Donc ce Favoris maintenant va nous être utile déjà pour ici écrire le nombre de favoris. Et puis, ensuite ici, dans l'énumération, afficher correctement notre sort. Alors, pour ça il faut un peu de préparation, quand-même. C'est à dire que on va préparer une chaîne ActionFavoris et une chaîne classFavoris. L'actionFavoris c'est l'action que l'on veut faire selon que la liste des favoris contient ou pas notre sort. De la même façon, ici, on veut ajouter si il n'est pas dedans. Et on veut le style par défaut. Plus concrètement, ici, on va ajouter, alors pour qu'on voie la ligne, qui est assez longue, puisque c'est une longue ligne, ici. Le lien, on le construit. Ce lien, on le construit en fonction de l'action favoris qu'on a choisie. Donc pour retirer ou ajouter c'est bien le contrôleur Favoris qu'on appelle, mais avec soit l'action ajouter, soit l'action retirer, selon l'état du sort, s'il est déjà ou non dans les favoris. Et puis on passe l'identifiant du sort, aussi, pour ajouter le sort en question. Et, rappelez-vous, pour qu'il soit ce bouton bleu ou gris, on va utiliser class Favoris, qui est soit default, soit primary. Et notre lien est complet. Notre code aussi, d'ailleurs. Donc on peut lancer. Voilà, on a zéro favoris. Maintenant si j'ajoute ici, j'ai un rafraichissement de la page, puisque je soumets ici ma page entièrement. J'ai deux favoris, ici, qui sont bien stockés. Si jamais je fais un F5 sur ma page, j'ai bien toujours deux favoris. Et si je stocke ma page éventuellement et que je l'ouvre à nouveau, j'ai deux favoris sur un autre onglet. Ce qui est normal, puisque c'est une session. Donc, nous avons ici implémenté une session en bonne et due fin.

Découvrir ASP.NET Core 1.0

Prenez en main ASP.NET Core 1.0. Développez ainsi des applications web multiplateformes en C#, déployables sur Windows, Linux, Mac ainsi qu'en containers Dockers.

1h32 (20 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
ASP.NET Core ASP.NET Core 1
Spécial abonnés
Date de parution :1 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !