Partager via


Fonction EqualPrefixSid (securitybaseapi.h)

La fonction EqualPrefixSid teste deux valeurs de préfixe SID (Security-identifier ) pour l’égalité. Un préfixe SID correspond à l’ensemble du SID, à l’exception de la dernière valeur de sous-autorité.

Syntaxe

BOOL EqualPrefixSid(
  [in] PSID pSid1,
  [in] PSID pSid2
);

Paramètres

[in] pSid1

Pointeur vers la première structure SID à comparer. Cette structure est supposée être valide.

[in] pSid2

Pointeur vers la deuxième structure SID à comparer. Cette structure est supposée être valide.

Valeur retournée

Si les préfixes SID sont égaux, la valeur de retour est différente de zéro.

Si les préfixes SID ne sont pas égaux, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction EqualPrefixSid permet à une application serveur dans un domaine de vérifier une tentative d’ouverture de session d’un utilisateur dans un autre domaine. Par exemple, si un utilisateur tente de se connecter à RemoteDomain à partir d’une station de travail dans LocalDomain, le serveur localDomain peut demander les SID pour l’utilisateur et les groupes de l’utilisateur à RemoteDomain. Le contrôleur de domaine pour RemoteDomain répond avec les SID appropriés.

Tous les SID d’un domaine spécifié ont le même préfixe. Lorsque le serveur reçoit les SID de l’utilisateur, le serveur peut appeler la fonction EqualPrefixSid pour chaque SID, en comparant le SID de l’utilisateur ou du groupe au SID pour RemoteDomain. Si l’un des préfixes SID n’est pas égal, le serveur refuse la tentative d’ouverture de session.

Il est conseillé de modifier le SID d’un domaine avant de le comparer à un SID de groupe ou d’utilisateur. Si le SID pour RemoteDomain est S-1-1234-8, chaque SID de groupe ou d’utilisateur pour ce domaine a S-1-1234-8 comme préfixe. Pour comparer les SID à l’aide de la fonction EqualPrefixSid , une application copie le SID de domaine et ajoute toute valeur de sous-autorisation (RID) à la copie, créant ainsi un SID au format S-1-1234-8-0. L’application utilise ensuite le SID de domaine modifié comme modèle à partir duquel les SID de groupe et d’utilisateur sont comparés.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

Vue d’ensemble du contrôle d’accès

Fonctions Access Control de base

CopySid

EqualSid

IsValidSid

SID