Express (Distributed operating systems), v8.0 > Secure applications and their environment > Authenticate users > Select a registry or repository > Manage realms in a federated repository > Virtual member manager > Develop with virtual member manager > Integrate virtual member manager into the application > Program tasks


Dynamically adding a new realm

Use this procedure to dynamically add a new realm to the current configuration at runtime.


About this task

When this dynamic call is made, only the configuration in memory is updated. The configuration file is not updated.

Event Type

DYNA_CONFIG_EVENT_ADD_REALM

Configuration Data

DYNA_CONFIG_KEY_REALM_CONFIG (required) - [DataObject]

Realm configuration data object based on the wimconfig.xsd file.
The following is a sample task:


Procedure

  1. Ensure that virtual member manager is running.

  2. Add a new realm to virtual member manager configuration. For example:
    Hashtable configData = new Hashtable();
     DataObject realmCfgDO = SDOHelper.createConfigDataObject(null, Service.WIM_CONFIG_NS_URI,
       Service.CONFIG_DO_REALM_CONFIG);
     DataObject realmDO = SDOHelper.createConfigDataObject(realmCfgDO, Service.WIM_CONFIG_NS_URI,
       Service.CONFIG_DO_REALMS);
     realmDO.setString(Service.CONFIG_PROP_NAME, "NewRealm");
     realmDO.setString(Service.CONFIG_PROP_SECURITY_USE, "active");
     realmDO.setString(Service.CONFIG_PROP_DELIMITER, "@");
    
     DataObject partBaseEntry = SDOHelper.createConfigDataObject(realmDO, Service.WIM_CONFIG_NS_URI,
       Service.CONFIG_DO_PARTICIPATING_BASE_ENTRIES);
     partBaseEntry.set(Service.CONFIG_PROP_NAME, "cn=realmusers,dc=yourco,dc=com");
    
     DataObject defaultParentDO = SDOHelper.createConfigDataObject(realmDO, Service.WIM_CONFIG_NS_URI,
       Service.CONFIG_DO_DEFAULT_PARENTS);
     defaultParentDO.setString(Service.CONFIG_PROP_ENTITY_TYPE_NAME, "PersonAccount");
     defaultParentDO.setString(Service.CONFIG_PROP_PARENTS_UNIQUE_NAME, "cn=realmusers,dc=yourco,dc=com");
    
     DataObject uniqueUserIdMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,Service.CONFIG_DO_UNIQUE_USER_ID_MAPPING);
     uniqueUserIdMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_INPUT, "uniqueName");
     uniqueUserIdMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "uniqueName");
    
     DataObject userSecurityNameMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,Service.CONFIG_DO_USER_SECURITY_NAME_MAPPING);
     userSecurityNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_INPUT, "principalName");
     userSecurityNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "externalName");
    
     DataObject userDisplayNameMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,Service.CONFIG_DO_USER_DISPLAY_NAME_MAPPING);
     userDisplayNameMappingDO.setString(CONIG_PROP_PROPERTY_FOR_INPUT, "principalName");
     userDisplayNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "principalName");
    
     DataObject uniqueGroupIdMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,Service.CONFIG_DO_UNIQUE_GROUP_ID_MAPPING);
     uniqueGroupIdMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_INPUT, "uniqueName");
     uniqueGroupIdMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "uniqueName");
    
     DataObject groupSecurityNameMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,Service.CONFIG_DO_GROUP_SECURITY_NAME_MAPPING);
     groupSecurityNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_INPUT, "cn");
     groupSecurityNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "externalName");
    
     DataObject groupDisplayNameMappingDO = SDOHelper.createConfigDataObject(realmDO,
        Service.WIM_CONFIG_NS_URI,CONFIG_DO_GROUP_DISPLAY_NAME_MAPPING);
     groupDisplayNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_INPUT, "cn");
     groupDisplayNameMappingDO.setString(Service.CONIG_PROP_PROPERTY_FOR_OUTPUT, "cn");
    
     configData.put(Service.DYNA_CONFIG_KEY_REALM_CONFIG, realmDO);
    
     service.dynamicUpdateConfig(Service.DYNA_CONFIG_EVENT_ADD_REALM, configData);
    

Parent topic: Program tasks



+

Search Tips   |   Advanced Search