Partager via


Modification du comportement d'une interface d'authentification unique

La plupart des objets du modèle d'authentification unique (SSO, Single Sign-On) de l'entreprise exposent l'interface IPropertyBag, qui permet de modifier le comportement de l'objet spécifié. Si vous appelez QueryInterface sur un objet SSO, vous pouvez accéder à l'interface IPropertyBag et l'utiliser pour changer le comportement de l'objet actif.

Pour modifier le comportement d'une interface SSO spécifiée

  1. Utilisez QueryInterface sur l'interface spécifiée pour accéder à une instance IPropertyBag.

  2. Utilisez IPropertyBag.Write pour définir la propriété, le type et la valeur de l'interface.

    Le tableau ci-dessous décrit les valeurs valides pour les paramètres IPropertyBag propName et ptrVar.

propName Type ptrValue Utilisable sur
CurrentSSOServer VT_BSTR Nom du serveur auquel les informations doivent être envoyées Tous
Transaction VT_UNKNOWN

VT_EMPTY
Pointeur ITransaction DTC ou NULL pour effacer l'étendue. ISSOConfigStore::SetConfigInfo
ISSOConfigStore::GetConfigInfo
ISSOConfigStore::DeleteConfigInfo

ISSOAdmin ::CreateApplication
ISSOAdmin ::D eleteApplication
ISSOAdmin ::UpdateApplication
ISSOAdmin ::CreateFieldInfo

ISSOMapper::GetFieldInfo
AppFilterFlags VT_I4

VT_UI4
Indicateurs permettant de contrôler l'application à filtrer. ISSOMapper::GetApplications

ISSOMapper2::GetApplications2 
AppFilterFlagsMask VT_I4

VT_UI4
Masque d'indicateur permettant de contrôler l'application à filtrer. ISSOMapper::GetApplications

ISSOMapper2::GetApplications2 
AsyncCall VT_BOOL True pour appeler via un RPC asynchrone. False pour utiliser un RPC synchrone. ISSOConfigOM::GetServerStatus

ISSOAdmin::GetGlobalInfo
  • CurrentSSOServer : le comportement standard pour déterminer le serveur auquel envoyer des informations d’authentification unique est le suivant :

    1. Recherche de l'utilisateur actuel dans le registre. Le nom du serveur peut être défini pour l'utilisateur actuel à l'aide des outils de ligne de commande ou de l'interface graphique.

    2. Recherche de tous les utilisateurs dans le registre. Le nom du serveur peut être défini pour tous les utilisateurs à l'aide des outils de ligne de commande ou de l'interface graphique.

    3. Si aucun nom de serveur SSO n'est trouvé dans le registre, utilisez l'ordinateur en cours.

      Le fait de définir CurrentSSOServer sur un serveur spécifique annule le processus précédent de l'interface spécifiée. Une fois la valeur CurrentSSOServer définie, tous les appels de méthode suivants liés à l'interface sont envoyés au serveur spécifié.

  • Transaction : spécifie une transaction DTC qui doit étendre les opérations effectuées par le modèle objet SSO. Vous devez passer un pointeur DTC ITransaction dans ptrValue, ou « null » pour effacer l’étendue de la transaction actuelle.

  • AppFilterFlags/AppFilterMask : contrôle les types d’applications qui seront retournés par ISSOMapper.GetApplications et ISSOMapper2.GetApplications. Si les indicateurs des applications correspondent aux indicateurs spécifiés par les indicateurs de filtre et le masque des indicateurs de filtre, ils sont retournés. Pour effectuer le filtrage d'applications, vous pouvez définir AppFilterFlagsMask sur SSO_FLAG_APP_FILTER_BY_TYPE, puis AppFilterFlags sur l'une ou plusieurs des valeurs suivantes :

    SSO_APP_TYPE_INDIVIDUAL

    SSO_APP_TYPE_GROUP

    SSO_APP_TYPE_CONFIG_STORE

    SSO_APP_TYPE_HOST_GROUP

    SSO_APP_TYPE_PS_ADAPTER

    SSO_APP_TYPE_PS_GROUP_ADAPTER

  • AsyncCall : si la valeur est true, l’authentification unique exécute la méthode à l’aide d’un appel de procédure distante asynchrone (RPC). En cours d'exécution , la méthode retourne la valeur E_PENDING. Toute autre valeur retournée indique que la méthode est terminée. AsyncCall vous permet également de savoir si la méthode est terminée.