Partager via


<identity>, élément

Contrôle l'identité de l'application Web. Cet élément peut être déclaré à n'importe quel niveau (ordinateur, site, application, sous-répertoire ou page).

<configuration>
   <system.web>
      <identity>

<identityimpersonate="true|false"          userName="domain\username"          password="password"/>

Attributs requis

Attribut Option Description
impersonate     Spécifie si l'emprunt d'identité du client est utilisé à chaque demande.
    true Spécifie que l'emprunt d'identité du client est utilisé.
    false Spécifie que l'emprunt d'identité du client n'est pas utilisé.

Attributs facultatifs

Attribut Description
userName Spécifie le nom d'utilisateur à employer si impersonate a la valeur true.

userName et password sont stockés en texte clair dans le fichier de configuration. Même si IIS ne transmet pas les fichiers .config en réponse à une demande d'agent utilisateur, ces fichiers de configuration peuvent être lus grâce à d'autres moyens comme par exemple un utilisateur authentifié dont les informations d'authentification sont correctes sur le domaine qui contient le serveur. Pour des raisons de sécurité, la section identity prend en charge le stockage des attributs cryptés userName et password dans le Registre. Les informations d'authentification doivent être au format REG_BINARY cryptées par les fonctions de cryptage de Windows 2000 et Windows XP Data Protection API (DPAPI). Pour plus d'informations, consultez la section Notes et Exemple ci-dessous.

   password Spécifie le mot de passe à utiliser si impersonate a la valeur true. Consultez userName pour des informations sur le stockage d'informations d'authentification de processus de traitement cryptées dans le Registre.

Notes

Stockage d'un nom d'utilisateur et d'un mot de passe dans le Registre

Pour crypter le nom d'utilisateur et le mot de passe et les stocker dans le Registre, définissez userName et password de la façon suivante.

   userName="registry:HKLM\Software\AspNetProcess,Name"
   password="registry:HKLM\Software\AspNetProcess,Pwd"

La portion de la chaîne située après le mot clé registry et avant la virgule indique le nom de la clé de Registre ouverte par ASP.NET. La portion située après la virgule contient le nom d'une valeur de chaîne unique à partir duquel ASP.NET lit les informations d'authentification. La virgule est obligatoire et les informations d'authentification stockées doivent être stockées dans la ruche HKLM. Si le format de configuration n'est pas correct, ASP.NET ne lancera pas le processus de traitement et suivra le chemin de code d'échec de création de compte en cours.

Les informations doivent être au format REG_BINARY et contenir la sortie d'un appel à la fonction API Windows CryptProtectData. Vous pouvez créer les informations d'authentification cryptées et les stocker dans la base de Registre à l'aide de l'application console de l'outil ASP.NET Set Registry (Aspnet_setreg.exe) qui utilise CryptProtectData pour effectuer le cryptage. Pour télécharger Aspnet_setreg.exe ainsi que le code source et la documentation Visual C++, visitez le site Web www.asp.net et recherchez "aspnet_setreg".

Vous devez configurer l'accès à la clé qui stocke les informations d'authentification cryptées afin que l'accès soit fourni uniquement aux Administrateurs et à SYSTEM. Comme cette clé sera lue par le processus ASP.NET s'exécutant en tant que SYSTEM, vous devez définir les autorisations suivantes :

Administrateurs:F

SYSTEM:F

CREATOR OWNER:F

ProcessAccount:R

Ces autorisations fournissent deux lignes de défense permettant de protéger les données :

  • Les autorisations ACL nécessitent que l'identité qui accède aux données soit un Administrateur.
  • Un attaquant doit exécuter du code sur le serveur (CryptUnprotectData) pour récupérer les informations d'authentification du compte.

Exemple

L'exemple suivant définit la valeur true à impersonate (pour l'emprunt d'identité du client)

<configuration>
   <system.web>
      <identity impersonate="true"/>
   </system.web>
</configuration>

L'exemple suivant spécifie que le nom d'utilisateur et le mot de passe cryptés sont stockés dans le Registre sous la clé AspNetIdentity définie par l'utilisateur.

<configuration>
   <system.web>
      <identity>
         userName="registry:HKLM\Software\AspNetIdentity,Name"
         password="registry:HKLM\Software\AspNetIdentity,Pwd"
      </identity>
   </system.web>
</configuration>

Configuration requise

Contenu dans : <system.web>

Plate-forme Web : IIS 5.0, IIS 5.1, IIS 6.0

Fichier de configuration : Machine.config, Web.config

Gestionnaire de sections de configuration : System.Web.Configuration.IdentityConfigHandler

Voir aussi

Configuration ASP.NET | Schéma des paramètres ASP.NET