Partager via


Méthode IAzApplication ::InitializeClientContextFromName (azroles.h)

La méthode InitializeClientContextFromName obtient un pointeur d’objet IAzClientContext à partir de l’identité du client en tant que paire (nom de domaine, nom de client).

Note Si possible, appelez la fonction InitializeClientContextFromToken au lieu de InitializeClientContextFromName. Pour plus d'informations, consultez la section Notes.

 

Syntaxe

HRESULT InitializeClientContextFromName(
  [in]           BSTR             ClientName,
  [in, optional] BSTR             DomainName,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

Paramètres

[in] ClientName

Nom du principal de sécurité.

[in, optional] DomainName

Nom de domaine dans lequel réside le compte d’utilisateur. La valeur par défaut est NULL.

[in, optional] varReserved

Réservé pour un usage futur. Ce paramètre peut être l’une des valeurs suivantes :

  • varReserved.vt == VT_ERROR and varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 and varReserved.lVal == 0
  • varReserved.vt == VT_I2 and varReserved.iVal == 0

[out] ppClientContext

Pointeur vers un pointeur vers l’objet IAzClientContext retourné.

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Remarques

Si possible, appelez la fonction InitializeClientContextFromToken au lieu de InitializeClientContextFromName. InitializeClientContextFromName tente de récupérer les informations disponibles dans un jeton d’ouverture de session si le client s’est connecté. Un jeton d’ouverture de session réel fournit plus d’informations, telles que le type d’ouverture de session et les propriétés d’ouverture de session, et reflète le comportement du package d’authentification utilisé pour l’ouverture de session. Le contexte client créé par InitializeClientContextFromToken utilise un jeton d’ouverture de session, et le contexte client résultant est plus complet et plus précis qu’un contexte client créé par InitializeClientContextFromName.

Les paramètres DomainName et ClientName doivent être combinés pour représenter un SidTypeUser.

Les formats de nom pris en charge sont les mêmes que ceux pris en charge par la fonction LookupAccountName .

Important Les applications ne doivent pas supposer que le contexte appelant est autorisé à utiliser cette fonction. La fonction AuthzInitializeContextFromSid lit l’attribut tokenGroupsGlobalAndUniversal du SID spécifié dans l’appel pour déterminer les appartenances au groupe de l’utilisateur actuel. Si l’objet de l’utilisateur se trouve dans Active Directory, le contexte appelant doit avoir un accès en lecture à l’attribut tokenGroupsGlobalAndUniversal sur l’objet utilisateur. L’accès en lecture à l’attribut tokenGroupsGlobalAndUniversal est accordé au groupe Accès compatible pré-Windows 2000 , mais les nouveaux domaines contiennent un groupe Accès compatible pré-Windows 2000 vide par défaut, car la sélection d’installation par défaut est Autorisations compatibles avec Windows 2000 et Windows Server 2003. Par conséquent, les applications peuvent ne pas avoir accès à l’attribut tokenGroupsGlobalAndUniversal ; dans ce cas, la fonction AuthzInitializeContextFromSid échoue avec ACCESS_DENIED. Les applications qui utilisent cette fonction doivent gérer correctement cette erreur et fournir une documentation de support. Pour simplifier l’octroi de l’autorisation aux comptes d’interroger les informations de groupe d’un utilisateur, ajoutez des comptes qui ont besoin de la possibilité de rechercher des informations de groupe dans le groupe d’accès d’autorisation Windows.
 
Les applications appelant cette fonction doivent utiliser le nom de domaine complet ou le nom d’utilisateur principal (UPN). Sinon, cette méthode peut échouer dans les forêts si le nom de domaine NetBIOS est utilisé et que les deux domaines n’ont pas de relation d’approbation directe.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête azroles.h
Bibliothèque Azroles.lib
DLL Azroles.dll
Composant redistribuable Windows Server 2003 Administration Tools Pack sur Windows XP

Voir aussi

Autorisation de l’accès anonyme

IAzApplication