新規レルムの動的な追加

実行時に現行構成に新規レルムを動的に追加するには、以下の手順を使用します。

このタスクについて

注: この動的呼び出しが実行されると、メモリー内の構成のみが更新されます。構成ファイルは更新されません。
イベント・タイプ
DYNA_CONFIG_EVENT_ADD_REALM
構成データ
DYNA_CONFIG_KEY_REALM_CONFIG (必須) - [データ・オブジェクト]
wimconfig.xsd ファイルに基づいてレルム構成データ・オブジェクトを指定します。
次にサンプル・タスクを示します。

手順

  1. Virtual member manager が稼働していることを確認します。
  2. Virtual member manager 構成に新規レルムを追加します。 例えば、次のようになります。
    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);


利用条件 | フィードバック