SlideShare une entreprise Scribd logo
1  sur  19
Développement web avec
Visual Studio 2012 et ASP.NET
Module 9 – Sécurisation des Applications ASP.NET
Copyright © 2013, Mostefai Mohammed Amine
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
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
DéveloppementwebavecASP.NETetVisualStudio2012
Module9-SécurisationdesApplicationsASP.NET
Section 1 : Mécanismes de
sécurisation
Copyright © 2013, Mostefai Mohammed Amine
4
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
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
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
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
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
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
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
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
DéveloppementwebavecASP.NETetVisualStudio2012
Module9-SécurisationdesApplicationsASP.NET
Section 2 : Mise en place des
mécanismes de sécurisation
Copyright © 2013, Mostefai Mohammed Amine
13
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
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
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
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
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
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

Contenu connexe

Tendances

Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.netMohammed Amine Mostefai
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfoliomaknihamdi
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Siham Rim Boudaoud
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Siham Rim Boudaoud
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Laurent Guérin
 

Tendances (20)

Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.net
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Le langage html
Le langage htmlLe langage html
Le langage html
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Wf module3
Wf module3Wf module3
Wf module3
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfolio
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Jaxrs
JaxrsJaxrs
Jaxrs
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Java Fx Rapport
Java Fx RapportJava Fx Rapport
Java Fx Rapport
 

En vedette (6)

Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Cycle de vie d’un logiciel
Cycle de vie d’un logicielCycle de vie d’un logiciel
Cycle de vie d’un logiciel
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 

Similaire à Sécurisation des applications ASP.NET

Alphorm.com Formation Azure Active Directory
Alphorm.com Formation Azure Active DirectoryAlphorm.com Formation Azure Active Directory
Alphorm.com Formation Azure Active DirectoryAlphorm
 
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...CERTyou Formation
 
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windows
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windowsWa370 g formation-ibm-websphere-application-server-v7-administration-on-windows
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windowsCERTyou Formation
 
Alphorm.com Formation Microsoft Azure (AZ-500) : Sécurité
Alphorm.com Formation Microsoft Azure (AZ-500) : SécuritéAlphorm.com Formation Microsoft Azure (AZ-500) : Sécurité
Alphorm.com Formation Microsoft Azure (AZ-500) : SécuritéAlphorm
 
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...CERTyou Formation
 
Wa855 g formation-websphere-application-server-v8-5-5-administration
Wa855 g formation-websphere-application-server-v8-5-5-administrationWa855 g formation-websphere-application-server-v8-5-5-administration
Wa855 g formation-websphere-application-server-v8-5-5-administrationCERTyou Formation
 
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...CERTyou Formation
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010CERTyou Formation
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason De Oliveira
 
Dp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administrationDp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administrationCERTyou Formation
 
Présentation 1 f trouille
Présentation 1   f trouillePrésentation 1   f trouille
Présentation 1 f trouilleCloudAcademy
 
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...CERTyou Formation
 
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...CERTyou Formation
 
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...CERTyou Formation
 
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifs
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifsM22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifs
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifsCERTyou Formation
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...Nuxeo
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Décideurs IT
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Technet France
 

Similaire à Sécurisation des applications ASP.NET (20)

Alphorm.com Formation Azure Active Directory
Alphorm.com Formation Azure Active DirectoryAlphorm.com Formation Azure Active Directory
Alphorm.com Formation Azure Active Directory
 
cours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdfcours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdf
 
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
 
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windows
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windowsWa370 g formation-ibm-websphere-application-server-v7-administration-on-windows
Wa370 g formation-ibm-websphere-application-server-v7-administration-on-windows
 
Alphorm.com Formation Microsoft Azure (AZ-500) : Sécurité
Alphorm.com Formation Microsoft Azure (AZ-500) : SécuritéAlphorm.com Formation Microsoft Azure (AZ-500) : Sécurité
Alphorm.com Formation Microsoft Azure (AZ-500) : Sécurité
 
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M10751 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
 
Wa855 g formation-websphere-application-server-v8-5-5-administration
Wa855 g formation-websphere-application-server-v8-5-5-administrationWa855 g formation-websphere-application-server-v8-5-5-administration
Wa855 g formation-websphere-application-server-v8-5-5-administration
 
Sécurisation des wcf
Sécurisation des wcfSécurisation des wcf
Sécurisation des wcf
 
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
M20247 formation-configurer-et-deployer-un-cloud-prive-avec-microsoft-system-...
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
Dp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administrationDp0157 formation-symantec-backup-exec-2012-administration
Dp0157 formation-symantec-backup-exec-2012-administration
 
Présentation 1 f trouille
Présentation 1   f trouillePrésentation 1   f trouille
Présentation 1 f trouille
 
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
 
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
D8 l51g formation-les-fondamentaux-du-developpement-d-applications-avec-ibm-d...
 
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M20246 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
 
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifs
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifsM22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifs
M22416 formation-mettre-en-oeuvre-des-environnements-de-travail-applicatifs
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 

Plus de Mohammed Amine Mostefai

Plus de Mohammed Amine Mostefai (10)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Conduite de projet innovants
Conduite de projet innovantsConduite de projet innovants
Conduite de projet innovants
 

Sécurisation des applications ASP.NET

  • 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. 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. 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. DéveloppementwebavecASP.NETetVisualStudio2012 Module9-SécurisationdesApplicationsASP.NET Section 1 : Mécanismes de sécurisation Copyright © 2013, Mostefai Mohammed Amine 4
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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