GroupMembershipControl を使用したグループからのエンティティーの割り当て解除

1 つ以上のエンティティーを 1 つ以上のグループから削除するには、update(DataObject) メソッドおよび GroupMembershipControl を使用します。

このタスクについて

この例では、SalesPerson1 をグループ Admins および Managers から割り当て解除または削除する方法 を示します。

SalesPerson1 をグループ Admins および Managers から削除するには、 以下のサンプル・コードをアプリケーション・コードに追加して、 変数 をこの要求に使用したい実際の値と置き換えます。
DataObject toot = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_ENTITY);
entity.createDataObject(DO_IDENTIFIER).set(PROP_UNIQUE_NAME,
            "uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com");

DataObject grp1 = SDOHelper.createDataObject(WIM_NS_URI, DO_GROUP);
grp1.createDataObject(DO_IDENTIFIER).setString(PROP_UNIQUE_NAME,
            "cn=Admins,cn=groups,dc=yourco,dc=com");

DataObject grp2 = SDOHelper.createDataObject(WIM_NS_URI, DO_GROUP);
grp2.createDataObject(DO_IDENTIFIER).setString(PROP_UNIQUE_NAME, 
            "cn=Managers,cn=groups,dc=yourco,dc=com");
		
entity.getList(DO_GROUPS).add(grp1);
entity.getList(DO_GROUPS).add(grp2);
		
DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null, DO_GROUP_MEMBERSHIP_CONTROL);
// Unassign mode
grpMbrCtrl.setInt(PROP_MODIFY_MODE, VALUE_MODIFY_MODE_UNASSIGN); 
		
root = service.update(root);

入出力データ・グラフのサンプル

この例では、入力データ・グラフは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:sdo="commonj.sdo" 
               xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:entities>
      <wim:identifier uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
      <wim:groups>
        <wim:identifier uniqueId="73dc5d64-be44-4db0-9697-9a69056eb699"/>
      </wim:groups>
      <wim:groups>
        <wim:identifier uniqueName="cn=Managers,cn=groups,dc=yourco,dc=com"/>
      </wim:groups>
    </wim:entities>
    <wim:controls xsi:type="wim:GroupMembershipControl" modifyMode="3"/>
  </wim:Root>
</sdo:datagraph>
この例で作成される出力データ・ グラフは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:sdo="commonj.sdo" 
               xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalId="e7db8c0e-d2b3-43fe-be14-1475125606f4" 
                      externalName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                      repositoryId="LDAP1" 
                      uniqueId="e7db8c0e-d2b3-43fe-be14-1475125606f4" 
                      uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>

ユーザーをグループから除去するためのサンプル・コード」トピックも参照してください。



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