Código de ejemplo para eliminar usuarios de un grupo

Utilice el fragmento de código y los gráficos de datos de ejemplo para eliminar usuarios de un grupo utilizando GroupMembershipControl.

El siguiente fragmento de código de ejemplo muestra cómo eliminar un usuario de un grupo utilizando el método update() y GroupMembershipControl. Para el código de ejemplo para eliminar un usuario de un grupo utilizando GroupMemberControl, consulte el tema Código de ejemplo para trabajar con usuarios, grupos, miembros de grupos y pertenencia a grupos.

Requisitos previos

Asegúrese de leer la información y completar los pasos que se describen en el tema Requisitos previos de programación.

Antes de ejecutar el siguiente código de ejemplo, asegúrese de haber creado grupos y usuarios, y de haber asignado los usuarios como miembros de grupos. Para el código de ejemplo para hacer esto, consulte el tema Código de ejemplo para trabajar con usuarios, grupos, miembros de grupos y pertenencia a grupos.

Código de ejemplo

Añada el siguiente fragmento de código al código de aplicación y sustituya las variables por los valores reales que desea utilizar.

/** 
 *  rmMemberFromGroupUsingGroupMembershipControl 
 *  Elimina el usuario del grupo usando el control de pertenencia a grupos
 *  @param memberDn uniqueName del usuario
 *  @param groupDn uniqueame del grupo
 */
public static void rmMemberFromGroupUsingGroupMembershipControl(String memberDn, String groupDn)
{
    try
    {
        DataObject root = SDOHelper.createRootDataObject();
        DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_GROUP);
        // Establecer el uniqueName de grupo
        entity.createDataObject(SchemaConstants.DO_IDENTIFIER).set(SchemaConstants.PROP_UNIQUE_NAME,
                groupDn);
        DataObject member1 = SDOHelper.createDataObject(SchemaConstants.WIM_NS_URI, 
                SchemaConstants.DO_ENTITY);
        // Establecer el uniqueName de miembro
        member1.createDataObject(SchemaConstants.DO_IDENTIFIER).setString(SchemaConstants.PROP_UNIQUE_NAME,
                memberDn);
        // Obtener el miembro del grupo que debe desasignarse
        entity.getList(SchemaConstants.DO_MEMBERS).add(member1);
        // Establecer el control de pertenencia a grupos
        DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null,
                SchemaConstants.DO_GROUP_MEMBERSHIP_CONTROL);
        // Modalidad de desasignación para eliminar el miembro del grupo
        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));
        // Actualizar el grupo para eliminar el miembro
        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();
    }
}

Gráficos de datos de entrada y salida

Gráfico de datos de entrada para eliminar un miembro de un grupo utilizando 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>

Gráfico de datos de salida después de eliminar un miembro de un grupo utilizando 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>


Condiciones de uso | Comentarios