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
Utilisez QueryInterface sur l'interface spécifiée pour accéder à une instance IPropertyBag.
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 :
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.
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.
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.