Código de amostra para remover usuários de um grupo

Use o fragmento de código de amostra e os gráficos de dados para remover usuários de um grupo usando GroupMembershipControl.

O seguinte fragmento de código de amostra apresenta como remover um usuário de um grupo usando o método update() e GroupMembershipControl. Para obter o código de amostra para remover um usuário de um grupo usando o GroupMemberControl, consulte o tópico Código de amostra para trabalhar com usuários, grupos, membros de grupos e associações a grupos.

Pré-requisito

Assegure-se de ter lido as informações e concluído as etapas descritas no tópico Pré-requisitos de Programação.

Antes de executar o seguinte código de amostra, assegure-se de ter criado usuários e grupos e designado os usuários como membros dos grupos. Para obter o código de amostra para fazer isso, consulte o tópico Código de amostra para trabalhar com usuários, grupos, membros de grupos e associações a grupos.

Código de Amostra

Inclua o seguinte fragmento de código no código do aplicativo e substitua as variáveis pelos valores reais que você deseja usar.

/** 
 *  rmMemberFromGroupUsingGroupMembershipControl 
 *  Remove o usuário do grupo usando o controle de associação ao grupo
 *  @param memberDn uniqueName do usuário
 *  @param groupDn uniqueame do grupo
 */
public static void rmMemberFromGroupUsingGroupMembershipControl(String memberDn, String groupDn)
{
    try
    {
        DataObject root = SDOHelper.createRootDataObject();
        DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_GROUP);
        // Configurar o uniqueName do grupo
        entity.createDataObject(SchemaConstants.DO_IDENTIFIER).set(SchemaConstants.PROP_UNIQUE_NAME,
                groupDn);
        DataObject member1 = SDOHelper.createDataObject(SchemaConstants.WIM_NS_URI, 
                SchemaConstants.DO_ENTITY);
        // Configurar o uniqueName do membro
        member1.createDataObject(SchemaConstants.DO_IDENTIFIER).setString(SchemaConstants.PROP_UNIQUE_NAME,
                memberDn);
        // Obter o membro do grupo cuja designação precisa ser removida
        entity.getList(SchemaConstants.DO_MEMBERS).add(member1);
        // Configurar o controle de associação ao Grupo
        DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null, 
                SchemaConstants.DO_GROUP_MEMBERSHIP_CONTROL);
        // Modo remover designação para remover o membro do grupo
        grpMbrCtrl.setInt(SchemaConstants.PROP_MODIFY_MODE, SchemaConstants.VALUE_MODIFY_MODE_UNASSIGN); 
        System.out.println("Gráfico de dados de entrada antes de remover usuário do grupo usando o controle de Associação ao grupo"
                + printDO(root));
        // Atualizar o grupo para remover seu membro
        root = service.update(root);
        System.out.println("Gráfico de dados de saída depois de remover usuário do grupo usando o controle de Associação ao Grupo"
                + printDO(root));
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}

Gráficos de Dados de Entrada e Saída

Gráfico de dados de entrada para remover um membro de um grupo usando 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 dados de saída depois de remover um membro de um grupo usando 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>


Termos de uso | Feedback