Sécurisation des applications ASP.NET

2,864 views

Published on

Mise en place de l'authentification et de l'autorisation dans les applications ASP.NET

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,864
On SlideShare
0
From Embeds
0
Number of Embeds
301
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Sécurisation des applications ASP.NET

  1. 1. Développement web avec Visual Studio 2012 et ASP.NET Module 9 – Sécurisation des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  2. 2. Module 9 – Sécurisation des Applications ASP.NET Développement web avec ASP.NET et Visual Studio 2012 Objectifs du module  Permettre aux développeurs sécuriser les applications web ASP.NET Copyright © 2013, Mostefai Mohammed Amine 2
  3. 3. Module 9 – Sécurisation des Applications ASP.NET Développement web avec ASP.NET et Visual Studio 2012 Plan du module  Mécanismes de sécurisation  Mise en place des mécanismes de sécurisation Copyright © 2013, Mostefai Mohammed Amine 3
  4. 4. DéveloppementwebavecASP.NETetVisualStudio2012 Module9-SécurisationdesApplicationsASP.NET Section 1 : Mécanismes de sécurisation Copyright © 2013, Mostefai Mohammed Amine 4
  5. 5. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Introduction  La sécurité est un des plus grands challenges de l’internet  La sécurisation consiste à protéger des zones d’applications d’accès non autorisé  La sécurisation répond à deux questions essentielles : « qui est qui ? » et « qui peut faire quoi ? »  ASP.NET fournir deux mécanismes, l’authentification et l’autorisation qui permettent de répondre à ces deux questions Copyright © 2013, Mostefai Mohammed Amine 5
  6. 6. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET L’Authentification  L’authentification consiste à identifier les utilisateurs par des informations personnelles telles que le nom d’utilisateur ou l’empreinte digitale  L’authentification consiste à vérifier que les informations d’identification fournies par les utilisateurs sont valides Copyright © 2013, Mostefai Mohammed Amine 6
  7. 7. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET L’Autorisation  L’autorisation est un processus qui survient après l’authentification  L’autorisation consiste à vérifier si un utilisateur peut accéder à une ressource et si oui, avec quel niveau d’accès (contrôle total, lecture uniquement,…) Copyright © 2013, Mostefai Mohammed Amine 7
  8. 8. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Mécanismes d’Authentification Copyright © 2013, Mostefai Mohammed Amine 8 Authentification Forms Authentification Windows
  9. 9. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Authentification « Forms »  Dans « Forms », toute demande d’authentification renvoie vers une forme web d’authentification intégrée à l’application  Pour sauvegarder l’état de l’authentification, une cookie est crée et rattachée à la réponse d’authentification  Des composants comme « Login » permettent d’implémenter l’authentification « Forms » Copyright © 2013, Mostefai Mohammed Amine 9
  10. 10. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Authentification « Windows »  Dans ce mode, l’authentification est déléguée au système d’exploitation « Windows »  Dans ce mode, c’est IIS qui vérifie l’identité de l’utilisateur en demandant aux services d’authentification de Windows si l’utilisateur est valide  Le développeur n’est pas obligé de développer la forme de connexion  Ce mode s’adapte mieux aux applications intranet qu’aux applications internet Copyright © 2013, Mostefai Mohammed Amine 10
  11. 11. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Processus d’authentification dans Forms Copyright © 2013, Mostefai Mohammed Amine 11 L'ut ilisat eur demande une ressource sécurisée [Pr ésence de cookie d'aut hent ificat ion et ut ilisat eur valide] Redirect ion vers la forme de login Vérificat ion ut ilisat eur / mpd ent rés [MDP et ut ilisat eur valides] Créat ion du cookie d'aut hent ificat ion Accès à la ressource accept é Accès à la ressource rejet é NON OUI OUI
  12. 12. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Mécanismes d’autorisation  Pour simplifier la gestion, les utilisateurs sont groupés en rôles  Chaque rôle peut être constitué de plusieurs utilisateurs et un utilisateur peut appartenir à plusieurs rôles  Pour simplifier la gestion, les autorisations sont faites par rôles  Dans la configuration, les balises « allow » et « deny » permettent de définir les autorisations des rôles Copyright © 2013, Mostefai Mohammed Amine 12
  13. 13. DéveloppementwebavecASP.NETetVisualStudio2012 Module9-SécurisationdesApplicationsASP.NET Section 2 : Mise en place des mécanismes de sécurisation Copyright © 2013, Mostefai Mohammed Amine 13
  14. 14. Section 2 : Mise en place des mécanismes de sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Introduction  La mise en place nécessite de définir des zones facilement identifiables dans l’application (en utilisant des répertoires par exemples)  Utiliser la configuration pour définir l’autorisation et l’authentification  Utilisation des contrôles de login pour faciliter l’intégration des mécanismes d’authentification Copyright © 2013, Mostefai Mohammed Amine 14
  15. 15. Section 2 : Mise en place des mécanismes de sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Contrôles de Login Copyright © 2013, Mostefai Mohammed Amine 15 Contrôle Description Login Permet aux utilisateurs de s’authentifier (entrer nom d’utilisateur + mdp) avec tous les variantes qui vont avec (par exemple lien d’inscription, mot de passe perdu,…) LoginName Le nom de l’utilisateur actuellement connecté LoginStatus Affiche un lien d’authentification en mode déconnecté et un lien de déconnexion en mode connecté LoginView En utilisant les modèles (templates), affiche des informations variées selon le statut de connexion (connecté, déconnecté) CreateUserWizard Assistant de création d’un utilisateur
  16. 16. Section 2 : Mise en place des mécanismes de sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Exemple de configuration d’authentification <authentication mode="Forms" > <forms loginUrl="~/Login.aspx"> <credentials passwordFormat="Clear"> <user name="mohammedamine" password="mostefai"/> </credentials> </forms> </authentication> Copyright © 2013, Mostefai Mohammed Amine 16
  17. 17. Section 2 : Mise en place des mécanismes de sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Fournisseurs  Pour pouvoir gérer l’authentification, des fournisseurs de services doivent être utilisés  Un fournisseur de service d’authentification est une classe héritant de « MembershipProvider »  Un fournisseur de gestion des rôles est une classe héritant de «RoleProvider »  ASP.NET fournit deux classes « SqlMembershipProvider » et « SqlRoleProvider » simplifiant la gestion des utilisateurs et des rôles  L’utilisation des fournisseurs SQL nécessite la création de la base « ASPNETDB » par l’outil aspnet_regsql  L’utilisateur peut créer ses propres fournisseurs en créant des classes héritant de « MembershipProvider » et « RoleProvider » Copyright © 2013, Mostefai Mohammed Amine 17
  18. 18. Section 1 : Mécanismes de Sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Tutoriel 9.1 : Mise en place de l’authentification et des autorisations • Lancer Tutoriel 9.1, étape 1 - 5 Copyright © 2013, Mostefai Mohammed Amine 18
  19. 19. Section 2 : Mise en place des mécanismes de sécurisation Développement web avec ASP.NET et Visual Studio 2012 Module9-SécurisationdesApplicationsASP.NET Accès par code  Pour accéder à l’utilisateur authentifié en cours, utiliser la propriété « User »  Pour connaître si l’utilisateur appartient à un rôle, utiliser « IsInRole » Copyright © 2013, Mostefai Mohammed Amine 19

×