элемент alwaysFlowImpersonationPolicy><alwaysFlowImpersonationPolicy
Указывает, что удостоверение Windows всегда выполняется по асинхронным точкам независимо от того, как выполнялась олицетворение.
>
конфигурации<
<среды выполнения>
<alwaysFlowImpersonationPolicy>
Синтаксис
<alwaysFlowImpersonationPolicy
enabled="true|false"/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние элементы и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
enabled |
Обязательный атрибут. Указывает, передается ли удостоверение Windows через асинхронные точки. |
Атрибут с поддержкой
Ценность | Описание |
---|---|
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 выполняет поток по асинхронным точкам независимо от того, как было достигнуто олицетворение.
Это поведение по умолчанию можно изменить двумя другими способами:
В управляемом коде на основе потока.
Поток можно отключить на основе потока, изменив параметры ExecutionContext и SecurityContext с помощью метода ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentityили SecurityContext.SuppressFlow.
В вызове неуправляемого интерфейса размещения для загрузки среды CLR.
Если для загрузки среды CLR используется неуправляемый интерфейс размещения (вместо простого управляемого исполняемого файла), можно указать специальный флаг в вызове функции CorBindToRuntimeEx. Чтобы включить режим совместимости для всего процесса, задайте параметр
flags
для функции CorBindToRuntimeEx значениеSTARTUP_ALWAYSFLOW_IMPERSONATION
.
Файл конфигурации
В приложении .NET Framework этот элемент можно использовать только в файле конфигурации приложения.
Для приложения ASP.NET поток олицетворения можно настроить в файле aspnet.config, который находится в каталоге <папки Windows>\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>
См. также
- Настройка приложений с помощью файлов конфигурации
- схема параметров среды выполнения
- схемы файла конфигурации
- <устаревшим элементомImpersonationPolicy>