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