Aracılığıyla paylaş


SqlContext.WindowsIdentity Özellik

Tanım

Ç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

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.

Şunlara uygulanır