<legacyImpersonationPolicy>-Element
Aktualisiert: November 2007
Gibt an, dass die Windows-Identität, unabhängig von den Flusseinstellungen für den Ausführungskontext des aktuellen Threads, nicht über asynchrone Punkte übergeben wird.
<configuration>-Element
<runtime>-Element
<legacyImpersonationPolicy>-Element
<legacyImpersonationPolicy
enabled="true|false"/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute und untergeordnete sowie übergeordnete Elemente beschrieben.
Attribute
Attribut |
Beschreibung |
---|---|
enabled |
Erforderliches Attribut. Gibt an, dass die WindowsIdentity, unabhängig von den ExecutionContext-Flusseinstellungen für den Ausführungskontext des aktuellen Threads, nicht über asynchrone Punkte übergeben wird. |
Enabled-Attribut
Wert |
Beschreibung |
---|---|
false |
Die WindowsIdentity wird, je nach den ExecutionContext-Flusseinstellungen für den aktuellen Thread, über asynchrone Punkte übergeben. Dies ist die Standardeinstellung. |
true |
Die WindowsIdentity wird, unabhängig von den ExecutionContext-Flusseinstellungen für den Ausführungskontext des aktuellen Threads, nicht über asynchrone Punkte übergeben. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibung |
---|---|
configuration |
Das Stammelement in jeder Konfigurationsdatei, das von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird. |
runtime |
Enthält Informationen über die Assemblybindung und die Garbage Collection. |
Hinweise
In den .NET Framework-Versionen 1.0 und 1.1 wird die WindowsIdentity nicht über benutzerdefinierte asynchrone Punkte übergeben. .NET Framework, Version 2.0, enthält ein ExecutionContext-Objekt mit Informationen über den gegenwärtig ausgeführten Thread, das über asynchrone Punkte innerhalb einer Anwendungsdomäne übergeben wird. Dabei wird auch die WindowsIdentity übergeben, d. h., ein Identitätswechselkontext wird, sofern vorhanden, ebenfalls übergeben. Mit diesem Element wird angegeben, dass die WindowsIdentity nicht über asynchrone Punkte übergeben wird.
Tipp
Die Common Language Runtime (CLR) kann Identitätswechsel erkennen, die nur mit verwaltetem Code vorgenommen werden. Anders verhält es sich bei Identitätswechsel außerhalb von verwaltetem Code, z. B. über Plattformaufrufe zu nicht verwaltetem Code oder über direkte Aufrufe zu Win32-Funktionen. Nur verwaltete WindowsIdentity-Objekte können über asynchrone Punkte übergeben werden, sofern das alwaysFlowImpersonationPolicy-Element nicht auf true (<alwaysFlowImpersonationPolicy enabled="true"/>) festgelegt wurde. Wenn das alwaysFlowImpersonationPolicy-Element auf true festgelegt wird, gibt dies an, dass die Windows-Identität immer über asynchrone Punkte übergeben wird, unabhängig von der Art des Identitätswechsels. Weitere Informationen zur Übergabe von nicht verwaltetem Identitätswechsel über asynchrone Punkte finden Sie unter <alwaysFlowImpersonationPolicy>-Element.
Dieses Element kann nur in der Anwendungskonfigurationsdatei verwendet werden.
Es gibt zwei Möglichkeiten zum Ändern dieses Standardverhaltens:
In verwaltetem Code für die einzelnen Threads.
Sie können die Übergabe für die einzelnen Threads unterdrücken, indem Sie die ExecutionContext-Einstellungen und die SecurityContext-Einstellungen mithilfe der Methoden ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity oder SecurityContext.SuppressFlow ändern.
Im Aufruf der nicht verwalteten Hostschnittstelle zum Laden der Common Language Runtime (CLR).
Wenn die CLR über eine nicht verwaltete Hostschnittstelle (anstelle einer einfachen verwalteten ausführbaren Datei) geladen wird, können Sie beim Aufruf der CorBindToRuntimeEx-Funktion-Funktion ein spezielles Flag angeben. Um den Kompatibilitätsmodus für den gesamten Prozess zu aktivieren, legen Sie den flags-Parameter für CorBindToRuntimeEx-Funktion auf STARTUP_LEGACY_IMPERSONATION fest.
Beispiel
Im folgenden Beispiel wird das Angeben des Legacyverhaltens veranschaulicht, sodass die Windows-Identität nicht über asynchrone Punkte übergeben wird.
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Siehe auch
Referenz
Schema für Laufzeiteinstellungen