Freigeben über


SqlContext.WindowsIdentity Eigenschaft

Definition

Die Microsoft Windows-Identität des Aufrufers.

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

Eigenschaftswert

WindowsIdentity

Eine WindowsIdentity-Instanz, die die Windows-Identität des Aufrufers darstellt, oder null, wenn der Client mithilfe der SQL Server-Authentifizierung authentifiziert wurde.

Beispiele

Im folgenden Beispiel wird das Abrufen der Windows-Identität des aufrufenden Clients und der Identitätswechsel des Clients veranschaulicht.

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

Hinweise

Der code "Common language runtime" (CLR) innerhalb SQL Server wird immer im Kontext des Prozesskontos aufgerufen. Wenn es für den Code erforderlich ist, eine Aktion mithilfe der Identität des Aufrufs des Benutzers anstelle der SQL Server Prozessidentität auszuführen, sollte ein Identitätstoken über diese Eigenschaft abgerufen werden. Nach dem Erhalt des WindowsIdentity-Objekts können aufrufende Benutzer einen Identitätswechsel für das Clientkonto durchführen und Aktionen mit der neuen Identität ausführen.

Wenn sie von außerhalb SQL Server aufgerufen wird, wird eine NotSupportedException ausgelöst.

Nur mit der EXTERNAL_ACCESS-Berechtigung oder UNSAFE-Berechtigung markierte Assemblys können auf diese Eigenschaft zugreifen.

Diese Eigenschaft ist schreibgeschützt.

Gilt für