SqlContext.WindowsIdentity Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Çağıranın Microsoft Windows kimliği.
public:
static property System::Security::Principal::WindowsIdentity ^ WindowsIdentity { System::Security::Principal::WindowsIdentity ^ get(); };
public static System.Security.Principal.WindowsIdentity WindowsIdentity { get; }
member this.WindowsIdentity : System.Security.Principal.WindowsIdentity
Public Shared ReadOnly Property WindowsIdentity As WindowsIdentity
Özellik Değeri
WindowsIdentity Çağıranın Windows kimliğini temsil eden veya null istemcinin SQL Server Kimlik Doğrulaması kullanılarak kimlik doğrulamasından geçirilip geçirildiği bir örnek.
Örnekler
Aşağıdaki örnekte, çağıran istemcinin Windows kimliğini alma ve istemcinin kimliğine bürünme işlemleri gösterilmektedir.
WindowsIdentity clientId = null;
WindowsImpersonationContext impersonatedUser = null;
clientId = SqlContext.WindowsIdentity;
// This outer try block is used to thwart exception filter attacks which would prevent
// the inner finally block from executing and resetting the impersonation.
try
{
try
{
impersonatedUser = clientId.Impersonate();
if (impersonatedUser != null)
{
// Perform some action using impersonation.
}
}
finally
{
if (impersonatedUser != null)
impersonatedUser.Undo();
}
}
catch
{
throw;
}
Dim clientId As WindowsIdentity
Dim impersonatedUser As WindowsImpersonationContext
clientId = SqlContext.WindowsIdentity
Try
Try
impersonatedUser = clientId.Impersonate()
If impersonatedUser IsNot Nothing Then
' Perform some action using impersonation.
End If
Finally
If impersonatedUser IsNot Nothing Then
impersonatedUser.Undo
End If
End Try
Catch e As Exception
throw e
End Try
Açıklamalar
SQL Server içindeki ortak dil çalışma zamanı (CLR) kodu her zaman işlem hesabı bağlamında çağrılır. Kodun SQL Server işlem kimliği yerine kullanıcının kimliğini çağırarak bir eylem gerçekleştirmesi gerekiyorsa, bu özellik aracılığıyla bir kimliğe bürünme belirteci alınmalıdır. Çağıranlar, nesneyi aldıktan WindowsIdentity sonra istemci hesabının kimliğine bürünebilir ve kendileri adına eylemler gerçekleştirebilir.
Dışarıdan SQL Server çağrılırsa, bir NotSupportedException oluşturulur.
Bu özelliğe yalnızca veya UNSAFE izinleri ile EXTERNAL_ACCESS işaretlenmiş derlemeler erişebilir.
Bu özellik salt okunur durumdadır.