Delen via


<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:

  1. 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.

  2. 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 op STARTUP_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>  

Zie ook