Freigeben über


<alwaysFlowImpersonationPolicy> Element

Gibt an, dass die Windows-Identität immer über asynchrone Punkte fließt, unabhängig davon, wie der Identitätswechsel ausgeführt wurde.

<Konfiguration>
   <Laufzeit->
     <alwaysFlowImpersonationPolicy>

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung
enabled Erforderliches Attribut.

Gibt an, ob die Windows-Identität über asynchrone Punkte fließt.

enabled Attribute

Wert Beschreibung
false Die Windows-Identität fließt nicht über asynchrone Punkte hinweg, es sei denn, der Identitätswechsel wird über verwaltete Methoden wie Impersonateausgeführt. Dies ist die Standardeinstellung.
true Die Windows-Identität fließt immer über asynchrone Punkte hinweg, unabhängig davon, wie der Identitätswechsel ausgeführt wurde.

Untergeordnete Elemente

Nichts.

Übergeordnete Elemente

Element Beschreibung
configuration Das Stammelement in jeder Konfigurationsdatei, die von der Common Language Runtime und .NET Framework-Anwendungen verwendet wird.
runtime Enthält Informationen zur Assemblybindung und Garbage Collection.

Bemerkungen

In den .NET Framework-Versionen 1.0 und 1.1 fließt die Windows-Identität nicht über asynchrone Punkte hinweg. In .NET Framework, Version 2.0, gibt es ein ExecutionContext-Objekt, das Informationen über den derzeit ausgeführten Thread enthält und über asynchrone Punkte innerhalb einer Anwendungsdomäne fließt. Die WindowsIdentity fließt auch als Teil der Informationen, die über die asynchronen Punkte fließen, vorausgesetzt, der Identitätswechsel wurde mit verwalteten Methoden wie Impersonate und nicht über andere Mittel wie Plattformaufrufe für systemeigene Methoden erreicht. Dieses Element wird verwendet, um anzugeben, dass die Windows-Identität über asynchrone Punkte hinweg fließt, unabhängig davon, wie der Identitätswechsel erreicht wurde.

Sie können dieses Standardverhalten auf zwei andere Arten ändern:

  1. In verwaltetem Code pro Thread.

    Sie können den Fluss pro Thread unterdrücken, indem Sie die Einstellungen ExecutionContext und SecurityContext mithilfe der Methode ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentityoder SecurityContext.SuppressFlow ändern.

  2. Im Aufruf der nicht verwalteten Hostingschnittstelle zum Laden der Common Language Runtime (CLR).

    Wenn eine nicht verwaltete Hostingschnittstelle (anstelle einer einfachen verwalteten ausführbaren Datei) zum Laden der CLR verwendet wird, können Sie ein spezielles Flag im Aufruf der CorBindToRuntimeEx Function-Funktion angeben. Um den Kompatibilitätsmodus für den gesamten Prozess zu aktivieren, legen Sie den flags Parameter für CorBindToRuntimeEx Function auf STARTUP_ALWAYSFLOW_IMPERSONATIONfest.

Konfigurationsdatei

In einer .NET Framework-Anwendung kann dieses Element nur in der Anwendungskonfigurationsdatei verwendet werden.

Für eine ASP.NET Anwendung kann der Identitätswechselfluss in der datei aspnet.config im Verzeichnis <Windows-Ordner>\Microsoft.NET\Framework\vx.x.xxxx konfiguriert werden.

ASP.NET deaktiviert standardmäßig den Identitätswechselfluss in der datei aspnet.config mithilfe der folgenden Konfigurationseinstellungen:

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

Wenn Sie in ASP.NET stattdessen den Identitätswechselfluss zulassen möchten, müssen Sie explizit die folgenden Konfigurationseinstellungen verwenden:

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

Beispiel

Das folgende Beispiel zeigt, wie Sie angeben, dass die Windows-Identität über asynchrone Punkte fließt, auch wenn der Identitätswechsel über andere Als verwaltete Methoden erreicht wird.

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

Siehe auch