<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:
İş 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.
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ın
flags
.
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>