Partager via


<alwaysFlowImpersonationPolicy>, élément

Spécifie que l'identité Windows est toujours transmise entre des points asynchrones, indépendamment du mode d'exécution de l'emprunt d'identité.

<alwaysFlowImpersonationPolicy  
  enabled="true|false"/>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

enabled

Attribut requis.

Indique si l'identité Windows est transmise entre des points asynchrones.

Attribut enabled

Valeur

Description

false

L'identité Windows n'est pas transmise entre des points asynchrones, à moins que l'emprunt d'identité soit exécuté par l'intermédiaire de méthodes managées telles que Impersonate. Il s'agit de la valeur par défaut.

true

Spécifie que l'identité Windows est toujours transmise entre des points asynchrones, indépendamment du mode d'exécution de l'emprunt d'identité.

Éléments enfants

Aucun

Éléments parents

Élément

Description

configuration

Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

runtime

Contient des informations sur les liaisons d'assembly et l'opération garbage collection.

Notes

Dans les versions 1.0 et 1.1 du .NET Framework, l'identité Windows n'est pas transmise entre des points asynchrones. Le .NET Framework version 2.0 comprend un objet ExecutionContext qui contient des informations à propos du thread en cours d'exécution et les transmet entre des points asynchrones d'un domaine d'application. WindowsIdentity est également transmis dans le cadre des informations passées entre des points asynchrones, à condition que l'emprunt d'identité ait été exécuté à l'aide de méthodes managées telles que Impersonate et pas par d'autres moyens, tels qu'un appel de code non managé à des méthodes natives. Cet élément est utilisé pour spécifier la transmission de l'identité Windows entre des points asynchrones, indépendamment du mode d'exécution de l'emprunt d'identité.

Vous pouvez modifier ce comportement par défaut de deux autres façons :

  1. Dans le code managé, thread par thread.

    Vous pouvez supprimer le flux thread par thread en modifiant les paramètres ExecutionContext et SecurityContext à l'aide de la méthode ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity ou SecurityContext.SuppressFlow.

  2. Dans l'appel à l'interface d'hébergement non managée pour charger le Common Language Runtime.

    Si vous utilisez une interface d'hébergement non managée (au lieu d'un simple fichier exécutable managé) pour charger le Common Language Runtime, vous pouvez spécifier un indicateur spécial dans l'appel à la fonction CorBindToRuntimeEx, fonction. Pour activer le mode de compatibilité pour l'ensemble du processus, affectez la valeur STARTUP_ALWAYSFLOW_IMPERSONATION au paramètre flags de CorBindToRuntimeEx, fonction.

Fichier de configuration

Cet élément peut être utilisé uniquement dans le fichier de configuration de l'application.

Exemple

L'exemple suivant montre comment spécifier la transmission de l'identité Windows entre des points asynchrones, même si l'emprunt d'identité est effectué par d'autres moyens que les méthodes managées.

<configuration>
  <runtime>
    <alwaysFlowImpersonationPolicy enabled="true"/>
  </runtime>
</configuration>

Voir aussi

Référence

Schéma des paramètres d'exécution

<legacyImpersonationPolicy>, élément

Autres ressources

Schéma des fichiers de configuration pour le .NET Framework