<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:
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.
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 aufSTARTUP_ALWAYSFLOW_IMPERSONATION
fest.
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>