<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:
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 .
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 naSTARTUP_ALWAYSFLOW_IMPERSONATION
hodnotu .
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>