Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa, że tożsamość systemu Windows zawsze przepływa w punktach asynchronicznych, niezależnie od sposobu personifikacji.
<
>
konfiguracji
>
środowiska uruchomieniowego<
<alwaysFlowImpersonationPolicy>
Składnia
<alwaysFlowImpersonationPolicy
enabled="true|false"/>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Atrybut | Opis |
---|---|
enabled |
Wymagany atrybut. Wskazuje, czy tożsamość systemu Windows przepływa w punktach asynchronicznych. |
włączony atrybut
Wartość | Opis |
---|---|
false |
Tożsamość systemu Windows nie przepływa między punktami asynchronicznymi, chyba że personifikacja jest wykonywana za pomocą metod zarządzanych, takich jak Impersonate. Jest to wartość domyślna. |
true |
Tożsamość systemu Windows zawsze przepływa w punktach asynchronicznych, niezależnie od sposobu personifikacji. |
Elementy podrzędne
Żaden.
Elementy nadrzędne
Pierwiastek | Opis |
---|---|
configuration |
Element główny w każdym pliku konfiguracji używanym przez środowisko uruchomieniowe języka wspólnego i aplikacje .NET Framework. |
runtime |
Zawiera informacje na temat powiązania zestawu i odzyskiwania pamięci. |
Uwagi
W programie .NET Framework w wersji 1.0 i 1.1 tożsamość systemu Windows nie przepływa między punktami asynchronicznymi. W programie .NET Framework w wersji 2.0 istnieje obiekt ExecutionContext zawierający informacje o aktualnie wykonywanym wątku i przepływa go w punktach asynchronicznych w domenie aplikacji. WindowsIdentity również przepływa jako część informacji przepływających przez punkty asynchroniczne, pod warunkiem, że personifikacja została osiągnięta przy użyciu metod zarządzanych, takich jak Impersonate, a nie za pomocą innych środków, takich jak wywoływanie platformy do metod natywnych. Ten element służy do określania, że tożsamość systemu Windows przepływa między punktami asynchronicznymi, niezależnie od sposobu personifikacji.
To zachowanie domyślne można zmienić na dwa inne sposoby:
W kodzie zarządzanym dla poszczególnych wątków.
Przepływ można pominąć dla poszczególnych wątków, modyfikując ustawienia ExecutionContext i SecurityContext przy użyciu metody ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentitylub SecurityContext.SuppressFlow.
W wywołaniu interfejsu hostingu niezarządzanego w celu załadowania środowiska uruchomieniowego języka wspólnego (CLR).
Jeśli interfejs hostingu niezarządzanego (zamiast prostego zarządzanego pliku wykonywalnego) jest używany do ładowania środowiska CLR, można określić specjalną flagę w wywołaniu funkcji CorBindToRuntimeEx funkcji. Aby włączyć tryb zgodności dla całego procesu, ustaw parametr
flags
dla funkcji CorBindToRuntimeEx na wartośćSTARTUP_ALWAYSFLOW_IMPERSONATION
.
Plik konfiguracji
W aplikacji .NET Framework ten element może być używany tylko w pliku konfiguracji aplikacji.
W przypadku aplikacji ASP.NET przepływ personifikacji można skonfigurować w pliku aspnet.config znajdującym się w katalogu <Folder systemu Windows>\Microsoft.NET\Framework\vx.x.xxxx.
ASP.NET domyślnie wyłącza przepływ personifikacji w pliku aspnet.config przy użyciu następujących ustawień konfiguracji:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
</runtime>
</configuration>
Jeśli w ASP.NET chcesz zezwolić na przepływ personifikacji, musisz jawnie użyć następujących ustawień konfiguracji:
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Przykład
W poniższym przykładzie pokazano, jak określić, że tożsamość systemu Windows przepływa w punktach asynchronicznych, nawet jeśli personifikacja jest osiągana za pomocą środków innych niż metody zarządzane.
<configuration>
<runtime>
<alwaysFlowImpersonationPolicy enabled="true"/>
</runtime>
</configuration>