Suppression de l'affectation d'entités à des groupes à l'aide de GroupMembershipControl

A l'aide de la méthode update(DataObject) et de GroupMembershipControl, vous pouvez supprimer une ou plusieurs entités d'un ou de plusieurs groupes.

Pourquoi et quand exécuter cette tâche

Cet exemple montre comment supprimer des affectations ou SalesPerson1 des groupes Admins et Managers.

Pour supprimer SalesPerson1 des groupes Admins et Managers, ajoutez ce code exemple à votre code d'application, puis remplacez les variables avec les valeurs réelles à utiliser pour cette requête :
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);
// Mode de suppression d'affectation
grpMbrCtrl.setInt(PROP_MODIFY_MODE, VALUE_MODIFY_MODE_UNASSIGN); 
		
root = service.update(root);

Modèles de graphiques de données d'entrée et de sortie

Pour cet exemple particulier, le graphique de données d'entrée est le suivant :
<?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>
Le graphique de données de sortie qui résulte de cet exemple est le suivant :
<?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>

Consultez également la rubrique Exemple de code pour la suppression d'utilisateurs d'un groupe.



Conditions d'utilisation | Commentaires