Mustercode für das Entfernen von Benutzern aus einer Gruppe

Mit dem Mustercode-Snippet und den Datengraphen können Sie unter Verwendung des Datenobjekts "GroupMembershipControl" Benutzer aus einer Gruppe entfernen.

Das folgende Mustercode-Snippet zeigt, wie ein Benutzer aus einer Gruppe entfernt wird. Hierzu werden die Methode update() und das Datenobjekt "GroupMembershipControl" verwendet. Den Mustercode zum Entfernen eines Benutzers aus einer Gruppe mit dem Datenobjekt "GroupMemberControl" enthält das Thema Mustercode für die Arbeit mit Benutzern, Gruppen, Gruppenmitgliedern und Gruppenzugehörigkeiten.

Voraussetzungen

Stellen Sie sicher, dass Sie die Informationen gelesen und die Schritte ausgeführt haben, die im Thema Voraussetzungen für die Programmierung beschrieben sind.

Stellen Sie sicher, dass Sie Benutzer und Gruppen erstellt sowie die Benutzer als Mitglieder der Gruppen zugeordnet haben, bevor Sie den folgenden Mustercode ausführen. Den entsprechenden Mustercode für diese Tasks finden Sie unter Mustercode für die Arbeit mit Benutzern, Gruppen, Gruppenmitgliedern und Gruppenzugehörigkeiten.

Mustercode

Fügen Sie das folgende Code-Snippet zu Ihrem Anwendungscode hinzu und ersetzen Sie die Variablen durch die tatsächlichen Werte, die Sie verwenden wollen.

/** 
 *  rmMemberFromGroupUsingGroupMembershipControl 
 *  Removes the user from the group using the group membership control
 *  @param memberDn uniqueName of the user
 *  @param groupDn uniqueame of the group
 */
public static void rmMemberFromGroupUsingGroupMembershipControl(String memberDn, String groupDn)
{
    try
    {
        DataObject root = SDOHelper.createRootDataObject();
        DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_GROUP);
        // Set the group uniqueName
        entity.createDataObject(SchemaConstants.DO_IDENTIFIER).set(SchemaConstants.PROP_UNIQUE_NAME,
                groupDn);
        DataObject member1 = SDOHelper.createDataObject(SchemaConstants.WIM_NS_URI, 
                SchemaConstants.DO_ENTITY);
        // Set the member uniqueName
        member1.createDataObject(SchemaConstants.DO_IDENTIFIER).setString(SchemaConstants.PROP_UNIQUE_NAME,
                memberDn);
        // Get the member of the group that need to be unassigned
        entity.getList(SchemaConstants.DO_MEMBERS).add(member1);
        // Set the Group membership control
        DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null, 
                SchemaConstants.DO_GROUP_MEMBERSHIP_CONTROL);
        // Unassign mode to remove member from the group
        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));
        // Update the group to remove its member
        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();
    }
}

Eingabe- und Ausgabedatengraphen

Eingabedatengraph für das Entfernen eines Mitglieds aus einer Gruppe mit dem Datenobjekt "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>

Ausgabedatengraph nach dem Entfernen eines Mitglieds aus einer Gruppe mit dem Datenobjekt "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>


Rechtliche Hinweise | Feedback