Cours ASP.NET: Gestion de l’authentification et des autorisations

Sommaire: Gestion de l’authentification et des autorisations

Introduction
Authentification
Contrôles implémentés
Partie Login
La classe Membership
La classe Roles
Outil d’administration
Les Authentification
Windows
Formulaire
Passport Microsoft
Emprunt d’identité
Gestion des autorisations
Autoriser / refuser l’accès
Appliquer des autorisations
Application Pratique
Présentation de l’exercice
Présentation de l’application
Politique de sécurité
Présentation des différentes étapes à réaliser
Préparation d’une base de données
Définition des providers
Création des rôles et utilisateurs, et définition de leurs droits d’accès sur les ressources l’application
Création de l’application
Utilisation de l’application
Conclusion

Extrait du cours ASP.NET

1 Introduction
Il  est  important pour un site internet de gérer l’identification de ses utilisateurs ainsi  que les autorisations. Nous allons voir dans ce chapitre, les différentes méthodes d’authentification ainsi que la gestion des autorisations suivant un utilisateur ou un rôle précis.
Authentifier  des  utilisateurs  permet  d’autoriser  l’accès  à  aux  ressources  de  votre   application, qu’à  certaines  personnes  ou  proposer  des  services/fonctionnalités  supplémentaires  à  des  personnes  privilégiées  (comptes  payants,  comptes  d’administrateurs  ou  modérateurs  entres  autres).  Cela  sert  aussi  à  enregistrer  ses  informations  personnelles  et  à  suivre  les  actions  d’un  utilisateur,  par  exemple sur un site d’achat pour remplir un panier.
2 Authentification 
2.1 Contrôles implémentés dans ASP.NET 
ASP.NET  implémente  déjà  des  propriétés  et  méthodes,  qui  vont  nous  simplifier  la  tâche  et  sont  fournies  avec  certains  paramètres  de  sécurité,  qu’il  ne  nous  serait  pas  forcément  évident  de  reproduire.

2.1.1 Partie Login de la Boîte à Outils 
Nous allons voir une description des différents contrôles de login qui se trouvent  dans la  boîte à outils et qu’ASP.NET implémente par défaut :

Comme  vous  pouvez  le  constater,  grâce  aux  contrôles  d’ASP.NET,  on  peut  créer  l’interface graphique  sans  même  saisir  une  ligne  de  code.  Vous  pouvez  utiliser  un  contrôle  Validation Summary pour  afficher  les  informations  de  validations  retournées  par  certains  de  ces  contrôles  (contenant  des  contrôles de validation), cela améliorera l’accessibilité de votre site.
2.1.2 La classe Membership 
Cette  classe  permet  de  gérer  les  utilisateurs.  Elle  vous  permet  entre  autres  d’ajouter, supprimer,  sélectionner  et  modifier  des  utilisateurs.  Cette  classe  se  trouve  dans System.Web.Security.Membership
2.1.3 La classe Roles
Les  rôles  permettent  de  gérer  les  autorisations  comme  l’accès  à  certaines  parties  du  site.
Cette  classe  se  trouve  dans  System.Web.Security.Roles.
2.1.4 Outil d’administration Web
Avant  de  faire  cette  manipulation,  il  faut  que  vous  prépariez  votre  site  Web.  Pour  cela  créez des sous dossiers sur lesquels seront appliquées les permissions.
Pour  paramétrer  les  options  d’authentification  il  existe  un  outil  d’administration  permettant, via une interface graphique, de gérer l’authentification sans toucher à aucun fichier.
Pour y accéder aller dans le menu Projet puis choisissez Configuration ASP.NET.
Cliquez  sur  suivant.  Vous  arrivez  maintenant  sur  le  choix  de  l’authentification.  Si  c’est  une authentification  via  internet,  choisissez  la  première  possibilité.  En  revanche  si  votre  application  Web est  destinée  à  être  sur  un  réseau  local  et  qu’il  va  falloir  utiliser  l’authentification  Windows  ou  Active directory,  choisissez  la  seconde  option.

2.2 Les différents types d’authentification 
Il y a 3 types d’authentification  possible: avec  Windows,  par  formulaire  et  avec  un  Passport  qui est un service de Microsoft. Nous allons les voir plus en détails dans ce qui suit.

2.2.1 Windows
Si votre application Web se trouve en local avec la base de données des utilisateurs  ou Active Directory,  vous  pouvez  utiliser  l’authentification  Windows.  Ce  système  d’authentification  est  surtout  utilisé  au  sein  des  entreprises  où  les  machines  se  connectant  à  l’application  sont  dans  le  même réseau.
Pour  l’activer  il  faut  ajouter  ce  code  dans  le  web.config  (plus  exactement  dans  la  balise system.web) :
<authentication mode= »Windows » />
On  peut  configurer  ce  mode  d’authentification  avec  l’assistant  de  configuration  de  sécurité  comme  on  l’a  déjà  vu  ou  avec  ce  que  l’on  verra  plus  tard  dans  la  partie  3  pour  protéger  l’accès  à  des fichiers et dossiers.
2.2.2 Formulaire 
L’authentification  par  formulaire  est  le  plus  courant  sur  internet.  Comme  pour  les autres  types  d’authentification,  les  utilisateurs  possèdent  un  login  et  un  mot  de  passe.  La  connexion .
2.2.2.1 Configurer le Web.config 
Activer le mode formulaire dans le Web.config (dans system.web)..
C’est‐à‐dire que dans le web.config on pourrait aussi avoir :

<authorization>
<deny users="?" />
</authorization>
Web.config
<system.web>
<authentication mode="Forms" />
</system.web>

Il faut savoir que par défaut ASP.NET va rediriger l’utilisateur vers une page d’authentification si celui ci n’est pas authentifié.
Cette page est LoginForm.aspx.
 Pour changer cette page voici le code à mettre :

Web.config
<authentication mode="Forms">
<forms loginUrl="AuthFormulaire.aspx" />
</authentication>

2.2.2.3 Personnaliser l’authentification par formulaire 

Pour  ce  faire  nous  utiliserons  la  classe  FormsAuthentication.
2.2.3 Passport Microsoft 
Les  passports  sont  issus  d’un  service  de  Microsoft  qui  permet  d’authentifier  des  gens…
2.2.4 Emprunt d’identité 
Par défaut, ASP.NET  effectue les requêtes pour les ressources (comme un fichier, accès à des  données  et  autres)  avec  le  compte  d’ASP.NET.  Et  ce  même  si  l’utilisateur  courant  est   connecté.
Cependant il peut arriver que cela génère des erreurs ou que vous vouliez utiliser un autre compte.
Quand  on  utilise  le  mode  d’authentification  Windows,  ASP.NET  peut  utiliser  le  compte de l’utilisateur  courant  connecté,  pour accéder aux ressources. On  parle alors  d’emprunt  d’identité,  en  anglais « Impersonation ». Pour  ce  faire  on  va  utiliser  la balise identity  dans la  zone  system.web  du  Web.config. Il suffit de mettre l’attribut impersonate à true.

………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours ASP.NET: Gestion de l’authentification et des autorisations (1.68 MO) (Cours PDF)
Cours ASP

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *