Cette procédure permet d'ajouter dynamiquement un nouveau référentiel
de profils à la configuration actuelle lors de la phase d'exécution.
Pourquoi et quand exécuter cette tâche
Remarque : Lorsque cet appel dynamique est effectué, seule la configuration en
mémoire est mise à jour. Le fichier de configuration n'est pas mis à jour. Vous pouvez
uniquement ajouter dynamiquement un référentiel LDAP ou un référentiel personnalisé.
- Type d'événement
- DYNA_CONFIG_EVENT_ADD_REPOSITORY
- Données de configuration
- DYNA_CONFIG_KEY_REPOS_CONFIG (requis) - [DataObject]
- Indique l'objet de données de configuration du référentiel de profils en fonction du fichier
wimconfig.xsd.
Voici un exemple de tâche :
- Vérifiez que le serveur LDAP est configuré correctement et qu'il est en cours
d'exécution. Vérifiez également que les entrées de base que vous utilisez pour le
référentiel LDAP sont créées.
- Assurez-vous que virtual member manager est en cours d'exécution.
- Ajoutez le nouveau référentiel LDAP. Par exemple, à l'aide de l'adaptateur LDAP par défaut de virtual member manager :
DataObject configProvider = SDOHelper.createConfigProviderDataObject();
DataObject reposDO = SDOHelper.createConfigRepositoryDataObject(configProvider,
CONFIG_DO_LDAP_REPOSITORY_TYPE);
reposDO.setString(CONFIG_PROP_ID, "NewLDAP");
reposDO.setString(CONFIG_PROP_LDAP_SERVER_TYPE, "IDS60");
reposDO.setBoolean(CONFIG_PROP_SUPPORT_PAGING, false);
reposDO.setBoolean(CONFIG_PROP_SUPPORT_SORTING, false);
DataObject baseEntry1 = SDOHelper.createConfigDataObject(reposDO,
WIM_CONFIG_NS_URI, CONFIG_DO_BASE_ENTRIES);
baseEntry1.set(CONFIG_PROP_NAME, "cn=realmusers,dc=yourco,dc=com");
DataObject baseEntry2 = SDOHelper.createConfigDataObject(reposDO,
WIM_CONFIG_NS_URI, CONFIG_DO_BASE_ENTRIES);
baseEntry2.set(CONFIG_PROP_NAME, "cn=realmgroups,dc=yourco,dc=com");
// configuration du serveur LDAP
DataObject ldapServerCfgDO = SDOHelper.createConfigDataObject(reposDO,
WIM_CONFIG_NS_URI, CONFIG_DO_LDAP_SERVER_CONFIGURATION);
DataObject ldapServerDO = SDOHelper.createConfigDataObject(ldapServerCfgDO,
WIM_CONFIG_NS_URI, CONFIG_DO_LDAP_SERVERS);
ldapServerDO.setString(CONFIG_PROP_BIND_DN, "cn=yourco");
ldapServerDO.setString(CONFIG_PROP_BIND_PASSWORD, "yourpassword");
ldapServerDO.setBoolean(CONFIG_PROP_SSL_ENABLED, false);
DataObject ldapConnectionDO = SDOHelper.createConfigDataObject(ldapServerDO,
WIM_CONFIG_NS_URI, CONFIG_DO_CONNECTIONS);
ldapConnectionDO.setString(CONFIG_PROP_HOST, "yourldap.server.yourco.com");
ldapConnectionDO.setString(CONFIG_PROP_PORT, "389");
Hashtable configData = new Hashtable();
configData.put(DYNA_CONFIG_KEY_REPOS_CONFIG, reposDO);
service.dynamicUpdateConfig(DYNA_CONFIG_EVENT_ADD_REPOSITORY, configData);