Элемент <alwaysFlowImpersonationPolicy><alwaysFlowImpersonationPolicy> Element

Указывает, что удостоверение Windows всегда проходит через асинхронные точки, независимо от того, как было выполнено олицетворение.Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

<configuration>
  <runtime>
    <alwaysFlowImpersonationPolicy>\

СинтаксисSyntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Атрибуты и элементыAttributes and Elements

В следующих разделах описаны атрибуты, дочерние и родительские элементы.The following sections describe attributes, child elements, and parent elements.

АтрибутыAttributes

АтрибутAttribute ОписаниеDescription
enabled Обязательный атрибут.Required attribute.

Указывает, проходит ли идентификация Windows между асинхронными точками.Indicates whether the Windows identity flows across asynchronous points.

Атрибут enabledenabled Attribute

ЗначениеValue ОписаниеDescription
false Удостоверение Windows не передается через асинхронные точки, если олицетворение не выполняется через управляемые методы, такие как Impersonate .The Windows identity does not flow across asynchronous points, unless the impersonation is performed through managed methods such as Impersonate. Это значение по умолчанию.This is the default.
true Удостоверение Windows всегда проходит через асинхронные точки независимо от того, как было выполнено олицетворение.The Windows identity always flows across asynchronous points, regardless of how impersonation was performed.

Дочерние элементыChild Elements

Отсутствует.None.

Родительские элементыParent Elements

ЭлементElement ОписаниеDescription
configuration Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Содержит сведения о привязке сборок и сборке мусора.Contains information about assembly binding and garbage collection.

RemarksRemarks

В платформа .NET Framework версиях 1,0 и 1,1 идентификатор Windows не проходит через асинхронные точки.In the .NET Framework versions 1.0 and 1.1, the Windows identity does not flow across asynchronous points. В платформа .NET Framework версии 2,0 имеется ExecutionContext объект, который содержит сведения о выполняемом в данный момент потоке и передает его между асинхронными точками в домене приложения.In the .NET Framework version 2.0, there is an ExecutionContext object that contains information about the currently executing thread, and flows it across asynchronous points within an application domain. Также передается WindowsIdentity как часть информации, которая проходит через асинхронные точки, при условии, что олицетворение достигается с помощью управляемых методов, таких как Impersonate , а не с помощью других средств, таких как вызов неуправляемого кода в машинные методы.The WindowsIdentity also flows as part of the information that flows across the asynchronous points, provided the impersonation was achieved using managed methods such as Impersonate and not through other means such as platform invoke to native methods. Этот элемент позволяет указать, что удостоверение Windows выполняет потоковую передачу через асинхронные точки независимо от того, как было достигнуто олицетворение.This element is used to specify that the Windows identity does flow across asynchronous points, regardless of how the impersonation was achieved.

Это поведение по умолчанию можно изменить двумя способами.You can alter this default behavior in two other ways:

  1. В управляемом коде на основе каждого потока.In managed code on a per-thread basis.

    Можно подавить поток на основе каждого потока, изменив ExecutionContext Параметры и с SecurityContext помощью ExecutionContext.SuppressFlow SecurityContext.SuppressFlowWindowsIdentity метода, или SecurityContext.SuppressFlow .You can suppress the flow on a per-thread basis by modifying the ExecutionContext and SecurityContext settings by using the ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity, or SecurityContext.SuppressFlow method.

  2. В вызове неуправляемого интерфейса размещения для загрузки среды CLR.In the call to the unmanaged hosting interface to load the common language runtime (CLR).

    Если для загрузки среды CLR используется неуправляемый интерфейс размещения (вместо простого управляемого исполняемого файла), можно указать специальный флаг в вызове функции функции CorBindToRuntimeEx .If an unmanaged hosting interface (instead of a simple managed executable) is used to load the CLR, you can specify a special flag in the call to the CorBindToRuntimeEx Function function. Чтобы включить режим совместимости для всего процесса, задайте для flags параметра CorBindToRuntimeEx функции значение STARTUP_ALWAYSFLOW_IMPERSONATION .To enable the compatibility mode for the entire process, set the flags parameter for CorBindToRuntimeEx Function to STARTUP_ALWAYSFLOW_IMPERSONATION.

Файл конфигурацииConfiguration File

В приложении платформа .NET Framework этот элемент можно использовать только в файле конфигурации приложения.In a .NET Framework application, this element can be used only in the application configuration file.

Для приложения ASP.NET поток олицетворения можно настроить в файле aspnet.config, который находится в <Windows Folder> каталоге \микрософт.нет\фрамеворк\вкс.КС.кскскскс.For an ASP.NET application, the impersonation flow can be configured in the aspnet.config file found in the <Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx directory.

ASP.NET по умолчанию отключает поток олицетворения в файле aspnet.config с помощью следующих параметров конфигурации:ASP.NET by default disables the impersonation flow in the aspnet.config file by using the following configuration settings:

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

В ASP.NET, если требуется разрешить поток олицетворения, необходимо явно использовать следующие параметры конфигурации:In ASP.NET, if you want to allow the flow of impersonation instead, you must explicitly use the following configuration settings:

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

ПримерExample

В следующем примере показано, как указать, что удостоверение Windows проходит через асинхронные точки, даже если олицетворение достигается через средства, отличные от управляемых методов.The following example shows how to specify that the Windows identity flows across asynchronous points, even when the impersonation is achieved through means other than managed methods.

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

См. такжеSee also