La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Commerce électronique Automne 2015.  ASP.NET propose actuellement 4 Framework d’authentification: ◦ Asp.net Membership ◦ ASP.NET Simple Membership.

Présentations similaires


Présentation au sujet: "Commerce électronique Automne 2015.  ASP.NET propose actuellement 4 Framework d’authentification: ◦ Asp.net Membership ◦ ASP.NET Simple Membership."— Transcription de la présentation:

1 Commerce électronique Automne 2015

2

3  ASP.NET propose actuellement 4 Framework d’authentification: ◦ Asp.net Membership ◦ ASP.NET Simple Membership ◦ ASP.NET Universal Providers ◦ ASP.NET Identity  Nous allons tenter d’en faire un panorama rapide afin d’en comprendre les spécificités.

4  C’est le modèle historiquement proposé par Microsoft. Il est toujours d’actualité, mais pour de nouveaux projets je ne le conseille pas trop.  Son architecture est basée sur: ◦ l’authentification par formulaire ◦ une base de données pour gérer les credentials des utilisateurs  Le SDK embarque également une application Web que l’on peut notamment lancer depuis VS afin de gérer les rôles et les utilisateurs, ainsi qu’une API complète accessible depuis le code.  Ce que l’on peut lui reprocher: ◦ le schéma de la base de donnée n’est disponible que pour SQL Server et n’est pas évolutif.

5

6  Ce modèle est relativement ancien (VS 2010 tout de même), mais curieusement il n’est pas très connu. Comme le nom le suggère, il s’agit d’une version simplifiée du précédent, mais ne cohabite pas très bien avec lui.  S’il simplifie la gestion des profils utilisateurs, les autres problèmes demeurent entiers. Pour plus d’info : http://www.asp.net/web-pages/overview/security/16-adding-security-and-membership

7 Version AspNet.Identity to 2.0.0.0 Version AspNet.Identity to 1.0 https://aspnetidentity.codeplex.com/wikipage?title=Roadmap

8

9

10  En sélectionnant le modèle « Application Internet », Visual Studio crée automatiquement le modèle, la vue, le contrôleur et le filtre qui va gérer l’authentification :

11 La configuration de Identify passe par IdentityConfig.cs

12  Au départ, si on ne change rien, la base de données sera créé localement lors de l’utilisation.

13  Il faut ajouter/modifier la chaine de connexion dans le Web.config de l’application: Et dans IdentityModels.cs

14  Parfois(tout le temps) il est utile d’ajouter des informations relative à l’utilisateur, soit dans une table externe, soit dans la table des utilisateurs.  Dans ce qui suit, je vais vous montrer comment intégrer les informations dans la table Identity. http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

15  Première étape est de permettre la mise à jour des données. Il faut donc ouvrir la console et activer la migration avec la commande Enable-Migrations.

16  Ajouter les champs dans Models\IdentityModels.cs.

17  Pour ajouter les champs dans la base de données il faut aller dans la console. ◦ Entrer la commande(pour chaque champs)  Add-Migration « DateNaissance »  Update-Database

18  Ajouter les informations dans la section Modèle du formulaire. (RegisterView Model in Models\Accou ntViewModels. cs)

19  Ajouter les informations dans la section Vue du formulaire( Views\Account\Register.cshtml)

20  Il ne reste plus qu’à lié la donnée entrée dans le formulaire à la donnée du modèle (Controllers\AccountController.cs).

21

22  Il est possible de définir des rôles à certains utilisateurs.

23 Pas suffisant….

24  Il est important de contrôler l’exécution de méthode ou de classe avec la méthode suivante: ◦ [Authorize(Roles = « Administrator »)]

25

26  Le fournisseur est construit sur une base d’Entity Framework code first. Il est donc possible de sauvegarder les informations utilisateurs dans tous les conteneurs pris en charge par EF, en particulier Windows Azure SQL Database.  Il s’agit d’un fournisseur, pas d’une nouvelle API. Il est utilisé au sein de l’infrastructure ASP.NET membership et souffre donc des mêmes limitations.  Evidemment le terme « universel » est un peu exagéré et seuls les repository de la maison sont supportés. Mais ce qui est intéressant est que le choix du repository se fait simplement en modifiant la chaîne de connexion.  L’installation du provider se fait depuis un package Nuget:  install-package System.Web.Providers  Qui en profite pour ajouter la configuration nécessaire dans le fichier de configuration.

27  Cette architecture ne se limite plus au vieux modèle basé sur des formulaires d’authentification. Il est maintenant de plus en plus fréquent de passer par une délégation de l’authentification vers divers réseaux sociaux, surtout pour les applications mobiles.  L’autre apport de AspNet Identity est OWIN et le support d’OAuth2 (on troque les cookies contre les jetons).

28  Si on devait résumer les caractéristiques d’ASP.NET Identity: ◦ Modèle d’authentification unique Il peut s’intégrer à tous les Framework ASP.NET: MVC, Web Form, Web Page, Web Api, SignalR. Mais est aussi pleinement compatible avec les contraintes des applications mobiles. ◦ Maintenant on contrôle complètement le schéma des informations utilisateur et de profil. La personnalisation devient nettement plus facile. ◦ Par défaut, ASP.NET Identity persiste ses données dans une base de données que l’on attaque avec EF (code first). Il est alors possible de choisir tout type de conteneur: SharePoint, Windows Azure Storage Table, NoSql database… ◦ Mieux adapté au tests unitaires ◦ Gestion d’un fournisseur de rôle ◦ Outre les rôles, ASP.NET Identity est basé sur les claims qui permettent d’être plus précis quand à la représentation que l’on a d’un utilisateur qu’un simple rôle. ◦ Livré avec des fournisseurs spécifiques pour divers réseaux sociaux: Microsoft Account, Facebook, Twitter, Google… ◦ On peut déléguer les fonctionnalités de log à Windows Azure Active Directory Cette partie sera traitée dans un prochain article ◦ Intégration OWIN Plus de dépendance avec System.Web ◦ Package Nuget Le Framework est distribué via un package Nuget. C’est la nouvelle politique de Microsoft qui permet de réduire la durée du cycle de livraison des nouvelles version des outils.

29


Télécharger ppt "Commerce électronique Automne 2015.  ASP.NET propose actuellement 4 Framework d’authentification: ◦ Asp.net Membership ◦ ASP.NET Simple Membership."

Présentations similaires


Annonces Google