<alwaysFlowImpersonationPolicy>, élément
Spécifie que l’identité Windows est toujours transmise entre des points asynchrones, indépendamment du mode d’emprunt d’identité.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy>
Syntaxe
<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 circule entre les points asynchrones. |
Attribut enabled
Valeur | Description |
---|---|
false |
L’identité Windows ne circule pas entre les points asynchrones, sauf si l’emprunt d’identité est effectué via des méthodes managées comme Impersonate. Il s’agit de la valeur par défaut. |
true |
L’identité Windows circule toujours entre les points asynchrones, indépendamment du mode d’emprunt d’identité utilisé. |
Éléments enfants
Aucune.
É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 .NET Framework versions 1.0 et 1.1, l’identité Windows ne circule pas entre les points asynchrones. Dans .NET Framework version 2.0, il existe un objet ExecutionContext qui contient des informations sur le thread en cours d’exécution, et les fait circuler entre les points asynchrones au sein d’un domaine d’application. L’objet WindowsIdentity est également transmis en même temps que les informations qui circulent entre les points asynchrones, à condition que l’emprunt d’identité ait été obtenu à l’aide de méthodes managées telles que Impersonate et non par d’autres moyens comme un appel de plateforme à des méthodes natives. Cet élément permet de spécifier que l’identité Windows circule bel et bien entre les points asynchrones, quelle que soit la façon dont l’emprunt d’identité a été obtenu.
Vous pouvez modifier ce comportement par défaut de deux autres façons :
Dans du code managé par thread.
Vous pouvez supprimer le flux par thread en modifiant les paramètres ExecutionContext et SecurityContext à l’aide de la méthode ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity ou SecurityContext.SuppressFlow.
Dans l’appel à l’interface d’hébergement non managée pour charger le Common Language Runtime (CLR).
Si une interface d’hébergement non managée (plutôt qu’un simple exécutable managé) est utilisée pour charger le CLR, vous pouvez spécifier un indicateur spécial dans l’appel à la fonction CorBindToRuntimeEx. Pour activer le mode de compatibilité pour l’ensemble du processus, définissez le paramètre
flags
de la fonction CorBindToRuntimeEx surSTARTUP_ALWAYSFLOW_IMPERSONATION
.
Fichier de configuration
Dans une application .NET Framework, cet élément peut être utilisé uniquement dans le fichier de configuration de l’application.
Pour une application ASP.NET, le flux d’emprunt d’identité peut être configuré dans le fichier aspnet.config qui se trouve dans le répertoire <Dossier Windows>\Microsoft.NET\Framework\vx.x.xxxx.
Par défaut, ASP.NET désactive le flux d’emprunt d’identité dans le fichier aspnet.config à l’aide des paramètres de configuration suivants :
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
</runtime>
</configuration>
Si vous voulez autoriser le flux d’emprunt d’identité Dans ASP.NET, vous devez utiliser explicitement les paramètres de configuration suivants :
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Exemple
L’exemple suivant montre comment spécifier que l’identité Windows circule entre les points asynchrones, même quand l’emprunt d’identité est obtenu par d’autres moyens que des méthodes managées.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>