Aracılığıyla paylaş


<legacyImpersonationPolicy> Öğesi

Geçerli iş parçacığındaki yürütme bağlamının akış ayarlarından bağımsız olarak Windows kimliğinin zaman uyumsuz noktalar arasında akmadığını belirtir.

<Yapılandırma>
  <Çalışma zamanı>
    <legacyImpersonationPolicy>

Syntax

<legacyImpersonationPolicy
   enabled="true|false"/>  

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
enabled Gerekli öznitelik.

geçerli iş parçacığındaki WindowsIdentity akış ayarlarından bağımsız olarak ExecutionContext zaman uyumsuz noktalar arasında akış yapılmadığını belirtir.

etkin Öznitelik

Değer Açıklama
false WindowsIdentity geçerli iş parçacığının akış ayarlarına bağlı ExecutionContext olarak zaman uyumsuz noktalar arasında akışlar. Bu varsayılan seçenektir.
true WindowsIdentity geçerli iş parçacığındaki ExecutionContext akış ayarlarından bağımsız olarak zaman uyumsuz noktalar arasında akış yapmaz.

Alt Öğeler

Yok.

Üst Öğeler

Öğe Açıklama
configuration Her yapılandırma dosyasında yer alan ve ortak dil çalışma zamanı ve .NET Framework uygulamaları tarafından kullanılan kök öğe.
runtime Derleme bağlama ve atık toplama hakkında bilgi içerir.

Açıklamalar

.NET Framework sürüm 1.0 ve 1.1'de, WindowsIdentity kullanıcı tanımlı zaman uyumsuz noktalar arasında akış yapılmaz. .NET Framework sürüm 2.0'dan başlayarak, şu anda yürütülen iş parçacığı hakkında bilgi içeren bir ExecutionContext nesne vardır ve bir uygulama etki alanındaki zaman uyumsuz noktalar arasında akar. WindowsIdentity bu yürütme bağlamında yer alır ve bu nedenle zaman uyumsuz noktalar arasında da akar; başka bir deyişle, bir kimliğe bürünme bağlamı varsa, bu da akacaktır.

.NET Framework 2.0'dan başlayarak, zaman uyumsuz noktalar arasında akmayan öğesini WindowsIdentity belirtmek için öğesini kullanabilirsiniz<legacyImpersonationPolicy>.

Not

Ortak dil çalışma zamanı (CLR), yönetilmeyen koda platform çağırma veya Win32 işlevlerine doğrudan çağrılar gibi yönetilen kod dışında gerçekleştirilen kimliğe bürünme işlemlerinin değil, yalnızca yönetilen kod kullanılarak gerçekleştirilen kimliğe bürünme işlemlerinin farkındadır. Öğe true (<alwaysFlowImpersonationPolicy enabled="true"/> olarak ayarlanmadığı sürecealwaysFlowImpersonationPolicy, zaman uyumsuz noktalar arasında yalnızca yönetilen WindowsIdentity nesneler akabilir. öğesini true alwaysFlowImpersonationPolicy olarak ayarlamak, kimliğe bürünme işleminin nasıl gerçekleştirildiğine bakılmaksızın Windows kimliğinin her zaman zaman uyumsuz noktalar arasında aktığını belirtir. Zaman uyumsuz noktalar arasında yönetilmeyen kimliğe bürünme akışı hakkında daha fazla bilgi için bkz <. alwaysFlowImpersonationPolicy> Öğesi.

Bu varsayılan davranışı başka iki yolla değiştirebilirsiniz:

  1. İş parçacığı temelinde yönetilen kodda.

    ve SecurityContext ayarlarını , SecurityContext.SuppressFlowWindowsIdentity veya SecurityContext.SuppressFlow yöntemini kullanarak ExecutionContext.SuppressFlowdeğiştirerek ExecutionContext akışı iş parçacığı başına temelinde gizleyebilirsiniz.

  2. Ortak dil çalışma zamanını (CLR) yüklemek için yönetilmeyen barındırma arabirimi çağrısında.

    CLR'yi yüklemek için yönetilmeyen bir barındırma arabirimi (basit bir yönetilen yürütülebilir dosya yerine) kullanılıyorsa , CorBindToRuntimeEx İşlevi işlevine yapılan çağrıda özel bir bayrak belirtebilirsiniz. İşlemin tamamında uyumluluk modunu etkinleştirmek için CorBindToRuntimeEx İşlevi parametresini STARTUP_LEGACY_IMPERSONATION olarak ayarlayınflags.

Daha fazla bilgi için bkz <. alwaysFlowImpersonationPolicy> Öğesi.

Yapılandırma Dosyası

.NET Framework bir uygulamada bu öğe yalnızca uygulama yapılandırma dosyasında kullanılabilir.

ASP.NET bir uygulama için kimliğe bürünme akışı, Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx dizininde <bulunan aspnet.config dosyasında yapılandırılabilir.

ASP.NET varsayılan olarak aşağıdaki yapılandırma ayarlarını kullanarak aspnet.config dosyasındaki kimliğe bürünme akışını devre dışı bırakır:

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

ASP.NET'da, bunun yerine kimliğe bürünme akışına izin vermek istiyorsanız, aşağıdaki yapılandırma ayarlarını açıkça kullanmanız gerekir:

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

Örnek

Aşağıdaki örnek, Zaman uyumsuz noktalar arasında Windows kimliğini akmayan eski davranışın nasıl belirtileceğini gösterir.

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

Ayrıca bkz.