SqlContext.WindowsIdentity Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Identité Microsoft Windows de l'appelant.
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
Valeur de propriété
Instance de WindowsIdentity représentant l'identité Windows de l'appelant ou null
si le client a été authentifié par le biais de l'authentification SQL Server.
Exemples
L'exemple suivant montre comment obtenir l'identité Windows du client appelant et emprunter l'identité du client.
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
Remarques
Le code CLR (Common Language Runtime) dans SQL Server est toujours appelé dans le contexte du compte de processus. S’il est nécessaire que le code effectue une action à l’aide de l’identité de l’utilisateur appelant au lieu de l’identité du processus SQL Server, un jeton d’emprunt d’identité doit être obtenu via cette propriété. Après avoir obtenu l'objet WindowsIdentity, les appelants peuvent emprunter l'identité du compte client et effectuer des actions à sa place.
S’il est appelé depuis l’extérieur SQL Server, une NotSupportedException exception est levée.
Seuls les assemblys marqués avec les autorisations EXTERNAL_ACCESS
ou UNSAFE
peuvent accéder à cette propriété.
Cette propriété est en lecture seule.