Exemple de code pour la suppression d'utilisateurs d'un groupe

Cet exemple de fragment de code et ces graphiques de données permettent de supprimer des utilisateurs d'un groupe à l'aide de GroupMembershipControl.

L'exemple de fragment de code suivant montre comment supprimer un utilisateur d'un groupe à l'aide de la méthode update() et de GroupMembershipControl. Pour un exemple de code permettant de supprimer un utilisateur d'un groupe à l'aide de GroupMemberControl, voir la rubrique Exemple de code pour l'utilisation des utilisateurs, des groupes, des membres de groupe et de l'appartenance aux groupes.

Conditions prérequises

Assurez-vous d'avoir bien lu les informations et effectué les étapes décrites dans la rubrique Prérequis pour la programmation.

Avant d'exécuter l'exemple de code ci-après, vérifiez que vous avez créé des utilisateurs et des groupes et affecté les utilisateurs comme membres de groupes. Pour un exemple de code permettant d'effectuer ces opérations, voir la rubrique Exemple de code pour l'utilisation des utilisateurs, des groupes, des membres de groupe et de l'appartenance aux groupes.

Exemple de code

Ajoutez le fragment de code ci-après à votre code d'application, puis remplacez les variables par les valeurs réelles à utiliser.

/** 
 *  rmMemberFromGroupUsingGroupMembershipControl 
 *  Supprime l'utilisateur du groupe à l'aide du contrôle d'appartenance à un groupe
 *  @param memberDn nom unique de l'utilisateur
 *  @param groupDn nom unique du groupe
 */
public static void rmMemberFromGroupUsingGroupMembershipControl(String memberDn, String groupDn)
{
    try
    {
        DataObject root = SDOHelper.createRootDataObject();
        DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_GROUP);
        // Définition du nom unique du groupe
        entity.createDataObject(SchemaConstants.DO_IDENTIFIER).set(SchemaConstants.PROP_UNIQUE_NAME,
                groupDn);
        DataObject member1 = SDOHelper.createDataObject(SchemaConstants.WIM_NS_URI, 
                SchemaConstants.DO_ENTITY);
        // Définition du nom unique du membre
        member1.createDataObject(SchemaConstants.DO_IDENTIFIER).setString(SchemaConstants.PROP_UNIQUE_NAME,
                memberDn);
        // Extraction du membre du groupe dont l'affectation doit être supprimée
        entity.getList(SchemaConstants.DO_MEMBERS).add(member1);
        // Définition du contrôle de l'appartenance aux groupes
        DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null, 
                SchemaConstants.DO_GROUP_MEMBERSHIP_CONTROL);
        // Suppression de l'affectation du mode pour supprimer le membre du groupe
        grpMbrCtrl.setInt(SchemaConstants.PROP_MODIFY_MODE, SchemaConstants.VALUE_MODIFY_MODE_UNASSIGN); 
        System.out.println("Input datagraph before removing user from group using Group Membership control"
                + printDO(root));
        // Mise à jour du groupe pour supprimer son membre
        root = service.update(root);
        System.out.println("Output datagraph after removing user from group using Group Membership control"
                + printDO(root));
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}

Graphiques de données d'entrée et de sortie

Graphique de données d'entrée pour la suppression d'un membre d'un groupe à l'aide de GroupMembershipControl :

<?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:Group">
      <wim:identifier uniqueName="cn=group2,o=defaultWIMFileBasedRealm"/>
      <wim:members>
        <wim:identifier uniqueName="uid=user2,o=defaultWIMFileBasedRealm"/>
      </wim:members>
    </wim:entities>
    <wim:controls xsi:type="wim:GroupMembershipControl" modifyMode="3"/>
  </wim:Root>
</sdo:datagraph>

Graphique de données de sortie après suppression d'un membre d'un groupe à l'aide de GroupMembershipControl :

<?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:Group">
      <wim:identifier externalName="cn=group2,o=defaultWIMFileBasedRealm" repositoryId="InternalFileRepository"
          uniqueId="5187a438-cacc-4fe7-8aa7-c06aa76cec11" uniqueName="cn=group2,o=defaultWIMFileBasedRealm"/>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>


Conditions d'utilisation | Commentaires