<Элемент alwaysFlowImpersonationPolicy>

Указывает, что удостоверение Windows всегда проходит через асинхронные точки, независимо от того, как было выполнено олицетворение.

<Конфигурации>
  <Среды выполнения>
    <alwaysFlowImpersonationPolicy>

Синтаксис

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

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

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

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

Указывает, передается ли удостоверение Windows через асинхронные точки.

Атрибут enabled

Значение Описание
false Удостоверение Windows не проходит через асинхронные точки, если только олицетворение не выполняется с помощью управляемых методов, таких как Impersonate. Это значение по умолчанию.
true Удостоверение Windows всегда проходит по асинхронным точкам независимо от того, как выполнялась олицетворение.

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

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

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

Элемент Описание
configuration Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.
runtime Содержит сведения о привязке сборок и сборке мусора.

Комментарии

В платформа .NET Framework версии 1.0 и 1.1 удостоверение Windows не проходит через асинхронные точки. В платформа .NET Framework версии 2.0 существует ExecutionContext объект, содержащий сведения о текущем выполняемом потоке, и передает его по асинхронным точкам в домене приложения. Кроме WindowsIdentity того, потоки в составе информации, которая проходит через асинхронные точки, при условии, что олицетворение было достигнуто с помощью управляемых методов, таких как и не через другие средства, такие как Impersonate вызов платформы к собственным методам. Этот элемент используется для указания того, что удостоверение Windows выполняет поток по асинхронным точкам независимо от того, как была достигнута олицетворение.

Это поведение по умолчанию можно изменить двумя другими способами:

  1. В управляемом коде для каждого потока.

    Поток можно отключить для каждого потока, изменив параметры и SecurityContext изменив ExecutionContext параметры с помощью ExecutionContext.SuppressFlowSecurityContext.SuppressFlowWindowsIdentityили SecurityContext.SuppressFlow метода.

  2. В вызове неуправляемого интерфейса размещения для загрузки среды CLR.

    Если для загрузки среды CLR используется неуправляемый интерфейс размещения (а не простой управляемый исполняемый файл), можно указать специальный флаг в вызове функции CorBindToRuntimeEx . Чтобы включить режим совместимости для всего процесса, задайте для параметра для функцииSTARTUP_ALWAYSFLOW_IMPERSONATIONCorBindToRuntimeEx значение flags .

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

В приложении платформа .NET Framework этот элемент можно использовать только в файле конфигурации приложения.

Для приложения ASP.NET поток олицетворения можно настроить в файле aspnet.config, который находится в <каталоге Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET по умолчанию отключает поток олицетворения в файле aspnet.config с помощью следующих параметров конфигурации:

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

В ASP.NET, если вы хотите разрешить поток олицетворения, необходимо явно использовать следующие параметры конфигурации:

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

Пример

В следующем примере показано, как указать, что удостоверение Windows проходит по асинхронным точкам, даже если олицетворение достигается с помощью средств, отличных от управляемых методов.

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

См. также раздел