<element alwaysFlowImpersonationPolicy>
Hiermee geeft u op dat de Windows-identiteit altijd over asynchrone punten loopt, ongeacht hoe imitatie is uitgevoerd.
<configuratie>
<runtime->
<alwaysFlowImpersonationPolicy->
Syntaxis
<alwaysFlowImpersonationPolicy
enabled="true|false"/>
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.
Kenmerken
Attribuut | Beschrijving |
---|---|
enabled |
Vereist kenmerk. Geeft aan of de Windows-identiteit over asynchrone punten loopt. |
kenmerk ingeschakeld
Waarde | Beschrijving |
---|---|
false |
De Windows-identiteit loopt niet over asynchrone punten, tenzij de imitatie wordt uitgevoerd via beheerde methoden zoals Impersonate. Dit is de standaardwaarde. |
true |
De Windows-identiteit loopt altijd over asynchrone punten, ongeacht hoe imitatie is uitgevoerd. |
Onderliggende elementen
Geen.
Bovenliggende elementen
Element | Beschrijving |
---|---|
configuration |
Het hoofdelement in elk configuratiebestand dat wordt gebruikt door de algemene taalruntime en .NET Framework-toepassingen. |
runtime |
Bevat informatie over assemblybinding en garbagecollection. |
Opmerkingen
In .NET Framework-versies 1.0 en 1.1 stroomt de Windows-identiteit niet over asynchrone punten. In .NET Framework versie 2.0 is er een ExecutionContext-object dat informatie bevat over de thread die momenteel wordt uitgevoerd en deze over asynchrone punten binnen een toepassingsdomein loopt. De WindowsIdentity stromen ook als onderdeel van de informatie die over de asynchrone punten stroomt, mits de imitatie is bereikt met behulp van beheerde methoden zoals Impersonate en niet via andere middelen, zoals platformaanroepen naar systeemeigen methoden. Dit element wordt gebruikt om op te geven dat de Windows-identiteit door asynchrone punten stroomt, ongeacht hoe de imitatie is bereikt.
U kunt dit standaardgedrag op twee andere manieren wijzigen:
In beheerde code per thread.
U kunt de stroom per thread onderdrukken door de ExecutionContext- en SecurityContext-instellingen te wijzigen met behulp van de methode ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentityof SecurityContext.SuppressFlow.
In de aanroep van de niet-beheerde hostinginterface om de Common Language Runtime (CLR) te laden.
Als een niet-beheerde hostinginterface (in plaats van een eenvoudig beheerd uitvoerbaar bestand) wordt gebruikt om de CLR te laden, kunt u een speciale vlag opgeven in de aanroep van de CorBindToRuntimeEx-functie functie. Als u de compatibiliteitsmodus voor het hele proces wilt inschakelen, stelt u de parameter
flags
voor CorBindToRuntimeEx-functie in opSTARTUP_ALWAYSFLOW_IMPERSONATION
.
Configuratiebestand
In een .NET Framework-toepassing kan dit element alleen worden gebruikt in het configuratiebestand van de toepassing.
Voor een ASP.NET-toepassing kan de imitatiestroom worden geconfigureerd in het aspnet.config bestand in de map <Windows-map>\Microsoft.NET\Framework\vx.x.xxxx.
ASP.NET schakelt standaard de imitatiestroom in het aspnet.config bestand uit met behulp van de volgende configuratie-instellingen:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
</runtime>
</configuration>
Als u in ASP.NET de stroom van imitatie wilt toestaan, moet u expliciet de volgende configuratie-instellingen gebruiken:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Voorbeeld
In het volgende voorbeeld ziet u hoe u kunt opgeven dat de Windows-identiteit over asynchrone punten stroomt, zelfs wanneer de imitatie wordt bereikt via andere methoden dan beheerde methoden.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>