Partager via


Fournisseur d'authentification Windows

L'authentification Windows traite l'identité de l'utilisateur fournie par Microsoft Internet Information Services (IIS) comme l'utilisateur authentifié dans une application ASP.NET. IIS fournit plusieurs mécanismes d'authentification pour vérifier l'identité de l'utilisateur, notamment l'authentification anonyme, l'authentification intégrée de Windows (NTLM), l'authentification intégrée de Windows (Kerberos), l'authentification de base (codé en base 64), authentification Digest et l'authentification basée sur les certificats clients.

L'authentification Windows est implémentée dans ASP.NET à l'aide du module WindowsAuthenticationModule. Le module construit un WindowsIdentity selon les informations d'identification fournies par IIS et définit l'identité comme valeur de propriété User actuelle pour l'application.

L'authentification Windows est le mécanisme d'authentification par défaut pour les applications ASP.NET et est identifiée comme mode d'authentification pour une application utilisant l'élément de configuration d'authentification, comme décrit dans l'exemple de code suivant.

<system.web>
  <authentication mode="Windows"/>
</system.web>

Emprunt de l'identité Windows

Même si le mode d'authentification Windows affecte à la valeur de la propriété User un WindowsIdentity selon les informations d'identification fournies par IIS, il ne modifie pas l'identité Windows qui est fournie au système d'exploitation. L'identité Windows fournie au système d'exploitation est utilisée pour la vérification des autorisations, telles que les autorisations de fichiers NTFS ou pour la connexion à une base de données qui utilise la sécurité intégrée. Par défaut, cette identité Windows est l'identité du processus ASP.NET. Sur Microsoft Windows 2000 et Windows XP Professionnel, c'est l'identité du processus de traitement ASP.NET qui est le compte ASPNET local. Sur Windows Server 2003, l'application ASP.NET fait partie de l'identité du pool d'applications IIS. Par défaut, il s'agit du compte SERVICE RÉSEAU.

Vous pouvez configurer l'identité Windows de votre application ASP.NET sur l'identité Windows fournie par IIS en activant l'emprunt d'identité. C'est-à-dire que vous commandez à votre application ASP.NET d'emprunter l'identité fournie par IIS pour toutes les tâches que le système d'exploitation Windows authentifie, y compris les accès aux fichiers et au réseau.

Pour activer l'emprunt d'identité pour votre application Web, dans le fichier Web.config de l'application affectez à l'attribut impersonate de l'élément identité la valeur true, comme décrit dans l'exemple de code suivant.

<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true"/>
</system.web>

Pour plus d'informations sur l'identité du processus ASP.NET, consultez Configuration de l'identité de processus ASP.NET. Pour plus d'informations sur l'emprunt d'identité, consultez la méthode Impersonate.

Activation de l'autorisation à l'aide de listes de contrôle d'accès NTFS

Vous pouvez améliorer la sécurité de votre application ASP.NET en sécurisant les fichiers de l'application à l'aide du système de fichiers NTFS et des listes de contrôle d'accès (ACL). Les ACL vous permettent de spécifier les utilisateurs et groupes d'utilisateurs qui ont accès aux fichiers de votre application. Pour obtenir la liste des autorisations fichiers NTFS minimales requises dont une identité Windows a besoin pour être exécutée en tant qu'identité d'une page ASP.NET, consultez Listes de contrôle d'accès requis par ASP.NET.

Notes

Vous pouvez également utiliser des rôles ASP.NET pour gérer l'autorisation utilisateur pour des pages et des sections de votre application Web. Pour plus d'informations, consultez Gestion de l'autorisation à l'aide de rôles.

Voir aussi

Tâches

Comment : créer un objet WindowsPrincipal
Comment : créer des objets GenericPrincipal et GenericIdentity

Autres ressources

Sécurité des applications Web ASP.NET
Authentification ASP.NET