Sdílet prostřednictvím


SqlContext.WindowsIdentity Vlastnost

Definice

Identita volajícího Windows Microsoftu.

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

Hodnota vlastnosti

WindowsIdentity

Instance WindowsIdentity představující identitu Windows volajícího nebo null pokud byl klient ověřen pomocí ověřování SQL Server.

Příklady

Následující příklad ukazuje, jak získat Windows identitu volajícího klienta a zosobnit klienta.

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

Poznámky

Kód modulu CLR (Common Language Runtime) uvnitř SQL Server se vždy vyvolá v kontextu účtu procesu. Pokud je nutné, aby kód provedl akci pomocí volání identity uživatele místo identity procesu SQL Server, měl by být token zosobnění získán prostřednictvím této vlastnosti. Po získání objektu WindowsIdentity můžou volající zosobnit klientský účet a provádět akce jejich jménem.

Je-li vyvolána z vnější SQL Server, vyvolá se vyvolánaNotSupportedException.

K této vlastnosti mají přístup pouze sestavení označená oprávněními EXTERNAL_ACCESS UNSAFE .

Tato vlastnost je jen ke čtení.

Platí pro