<element alwaysFlowImpersonationPolicy>

Určuje, že identita Systému Windows vždy prochází asynchronními body bez ohledu na to, jak bylo zosobnění provedeno.

<Konfigurace>
  <Runtime>
    <alwaysFlowImpersonationPolicy>

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Atributy a elementy

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
enabled Požadovaný atribut.

Určuje, jestli identita Systému Windows prochází asynchronními body.

Atribut enabled

Hodnota Popis
false Identita Systému Windows neprotéká asynchronními body, pokud se zosobnění neprovádí prostřednictvím spravovaných metod, jako Impersonateje . Tato možnost je výchozí.
true Identita Windows vždy prochází asynchronními body bez ohledu na to, jak bylo zosobnění provedeno.

Podřízené elementy

Žádné

Nadřazené elementy

Element Popis
configuration Kořenový prvek v každém konfiguračním souboru, který je používán modulem Common Language Runtime (CLR) a aplikacemi rozhraní .NET Framework.
runtime Obsahuje informace o vazbách sestavení a uvolnění paměti.

Poznámky

V rozhraní .NET Framework verze 1.0 a 1.1 identita Systému Windows neprotéká přes asynchronní body. V rozhraní .NET Framework verze 2.0 existuje ExecutionContext objekt, který obsahuje informace o aktuálně spuštěných vláknech a tok mezi asynchronními body v rámci domény aplikace. Tok WindowsIdentity také jako součást informací, které procházejí asynchronními body, za předpokladu, že zosobnění bylo dosaženo pomocí spravovaných metod, jako Impersonate je a ne jinými způsoby, jako je volání platformy nativními metodami. Tento prvek se používá k určení, že identita Systému Windows neprotéká asynchronními body bez ohledu na to, jak bylo zosobnění dosaženo.

Toto výchozí chování můžete změnit dvěma dalšími způsoby:

  1. Ve spravovaném kódu pro jednotlivá vlákna.

    Tok můžete potlačit na základě jednotlivých vláken úpravou ExecutionContext nastavení a SecurityContext pomocí ExecutionContext.SuppressFlowmetody , SecurityContext.SuppressFlowWindowsIdentitynebo SecurityContext.SuppressFlow .

  2. Ve volání nespravovaného hostitelského rozhraní pro načtení modulu CLR (Common Language Runtime).

    Pokud se k načtení CLR používá nespravované hostitelské rozhraní (místo jednoduchého spravovaného spustitelného souboru), můžete zadat speciální příznak ve volání funkce CorBindToRuntimeEx . Pokud chcete povolit režim kompatibility pro celý proces, nastavte flags parametr funkce CorBindToRuntimeEx na STARTUP_ALWAYSFLOW_IMPERSONATIONhodnotu .

Konfigurační soubor

V aplikaci rozhraní .NET Framework lze tento prvek použít pouze v konfiguračním souboru aplikace.

Pro ASP.NET aplikaci je možné tok zosobnění nakonfigurovat v souboru aspnet.config, který se nachází v <adresáři Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET ve výchozím nastavení zakáže tok zosobnění v souboru aspnet.config pomocí následujícího nastavení konfigurace:

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

Pokud chcete v ASP.NET povolit tok zosobnění, musíte explicitně použít následující nastavení konfigurace:

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

Příklad

Následující příklad ukazuje, jak určit, že identita Systému Windows prochází asynchronními body, i když je zosobnění dosaženo jinými prostředky než spravovanými metodami.

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

Viz také