Mit dem hier beschriebenen Verfahren können Sie ein neues Profilrepository während der Laufzeit dynamisch zur aktuellen Konfiguration hinzufügen.
Informationen zu diesem Vorgang
Anmerkung: Wenn dieser dynamische Aufruf ausgeführt wird, wird nur die Konfiguration im Arbeitsspeicher aktualisiert.
Die Konfigurationsdatei wird nicht aktualisiert.
Das dynamische Hinzufügen ist nur bei einem LDAP-Repository oder einem angepassten Repository möglich.
- Ereignistyp
- DYNA_CONFIG_EVENT_ADD_REPOSITORY
- Konfigurationsdaten
- DYNA_CONFIG_KEY_REPOS_CONFIG (erforderlich) - [DataObject]
- Gibt das Datenobjekt für die Profilrepositorykonfiguration basierend auf der Datei
"wimconfig.xsd" an.
Ein Beispiel für die Task ist nachfolgend beschrieben:
- Stellen Sie sicher, dass der LDAP-Server ordnungsgemäß konfiguriert und aktiv ist. Stellen Sie außerdem sicher, dass die Basiseinträge erstellt wurden, die Sie für das LDAP-Repository verwenden.
- Stellen Sie sicher, dass Virtual Member Manager aktiv ist.
- Fügen Sie das neue LDAP-Repository hinzu. Beispiel für die Verwendung des LDAP-Adapters
von 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");
// ldap server config
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);