Chargement des membres du groupe

A l'aide de la méthode get(DataObject) et de la commande GroupMemberControl, vous pouvez afficher les entités qui appartiennent à un groupe.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, la requête est destinée à afficher les membres d'un groupe, Employee.
Pour demander les membres qui appartiennent au groupe Employee, ajoutez ce code exemple à votre code d'application, puis remplacez les variables par les valeurs réelles à utiliser :
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_GROUP);
entity.createDataObject(DO_IDENTIFIER).set(PROP_UNIQUE_NAME,
                  "cn=Employee,cn=groups,dc=yourco,dc=com");
DataObject propCtrl = SDOHelper.createControlDataObject(root, null, DO_PROPERTY_CONTROL);
propCtrl.getList(PROP_PROPERTIES).add("cn");
DataObject grpMbrCtrl = SDOHelper.createControlDataObject(root, null, 
               DO_GROUP_MEMBER_CONTROL); 
// Extraire les attributs cn et uid pour tous les membres
grpMbrCtrl.getList(PROP_PROPERTIES).add("cn");
grpMbrCtrl.getList(PROP_PROPERTIES).add("uid");
// extraire les membres imbriqués
grpMbrCtrl.setInt(PROP_LEVEL, 0); 
		
root = service.get(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 xsi:type="wim:Group">
      <wim:identifier uniqueName="cn=Employee,cn=groups,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:controls xsi:type="wim:PropertyControl">
      <wim:properties>cn</wim:properties>
    </wim:controls>
    <wim:controls xsi:type="wim:GroupMemberControl" level="0">
      <wim:properties>cn</wim:properties>
      <wim:properties>uid</wim:properties>
    </wim:controls>
  </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:Group">
      <wim:identifier externalName="cn=Employee,cn=groups,dc=yourco,dc=com" 
                      repositoryId="LDAP1"
                      uniqueId="46f31f7d-dddd-4930-83dd-126de9bb667d" 
                      uniqueName="cn=Employee,cn=groups,dc=yourco,dc=com"/>
      <wim:cn>Employee</wim:cn>
      <wim:members xsi:type="wim:Group">
        <wim:identifier externalName="cn=Managers,cn=groups,dc=yourco,dc=com" 
                        repositoryId="LDAP1"
                        uniqueId="6e45af37-bc3f-4260-af27-666e1ebdbda2" 
                        uniqueName="cn=Managers,cn=groups,dc=yourco,dc=com"/>
        <wim:cn>Managers</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:Group">
        <wim:identifier externalName="cn=Admins,cn=groups,dc=yourco,dc=com" 
                        repositoryId="LDAP1"
                        uniqueId="73dc5d64-be44-4db0-9697-9a69056eb699" 
                        uniqueName="cn=Admins,cn=groups,dc=yourco,dc=com"/>
        <wim:cn>Admins</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier 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:uid>SalesPerson1</wim:uid>
        <wim:cn>Sales Person1</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier externalName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueId="a3f9e8a1-117a-4252-840f-6d0cb079a7fb" 
                        uniqueName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson2</wim:uid>
        <wim:cn>Sales Person2</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier externalName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueId="13ae346f-1e4c-40cd-8896-1c7f0b2b3079" 
                        uniqueName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson3</wim:uid>
        <wim:cn>Sales Person3</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier externalName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueId="a2d1be42-212e-44f0-8396-0bfc2d7d346d" 
                        uniqueName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson4</wim:uid>
        <wim:cn>Sales Person4</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier externalName="uid=SalesManager,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueId="5e846c20-a1b4-4bfc-bce2-1f841d762f9a" 
                        uniqueName="uid=SalesManager,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesManager</wim:uid>
        <wim:cn>Sales Manager</wim:cn>
      </wim:members>
      <wim:members xsi:type="wim:PersonAccount">
        <wim:identifier externalName="uid=Admin,cn=users,dc=yourco,dc=com" 
                        repositoryId="LDAP1"
                        uniqueId="38dc5508-bf68-44d8-bcb1-da23f6cd009a" 
                        uniqueName="uid=Admin,cn=users,dc=yourco,dc=com"/>
        <wim:uid>Admin</wim:uid>
        <wim:cn>Administrator</wim:cn>
      </wim:members>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>

Pour un exemple de code de bout en bout, voir la rubrique Exemple de code pour l'utilisation des utilisateurs, des groupes, des membres de groupe et de l'appartenance aux groupes.



Conditions d'utilisation | Commentaires