User Management mit der virtuellen Listenansicht (VLV) konfigurieren

Eine wichtige Voraussetzung für User Management ist die Ordnersynchronisierung. Die Benutzer und Gruppen werden aus einem Unternehmensordner mit der AEM Forms-Datenbank synchronisiert, um Rollen und Berechtigungen zuzuweisen. Die Anzahl der Benutzer liegt (je nach Anforderung) zwischen 100 und über 100.000, was eine technische Herausforderung für eine effiziente Datensynchronisierung darstellt.

Das LDAP-Protokoll bietet in der Form von Anforderungssteuerelementen eine Möglichkeit zum seitenweisen Abarbeiten großer Ergebnismengen. Bei Verwendung von Microsoft Active Directory kommt bei der Synchronisierung zwischen LDAP und der AEM Forms-Datenbank PagedResultsControl zum Abrufen von Daten in Stapeln bestimmter Größe zum Einsatz. Dieses Steuerelement wird vom Sun ONE Directory Server nicht unterstützt. Zum Durchführen einer seitenweisen Abfrage des Sun ONE Directory Server verwenden Sie das VLV-Steuerelement (Virtual List View, virtuelle Listenansicht). Dieses Steuerelement beinhaltet sowohl eine ordnerserverseitige Konfiguration als auch eine clientseitige Implementierung.

Hinweis: In diesem Abschnitt wird die Verwendung des VLV-Steuerelements für den Sun ONE Directory Server beschrieben. Es kann jedoch jeder Ordnerserver, der das VLV-Steuerelement unterstützt, verwendet werden.
  1. Wählen Sie beim Konfigurieren des Ordners die Option „VLV-Steuerung (Virtuelle Listenansicht) aktivieren“ sowohl auf der Seite „Benutzereinstellungen“ als auch auf der Seite „Gruppeneinstellungen“ aus. Wenn Sie das Kontrollkästchen aktivieren, müssen Sie außerdem in das Feld „Sortierfeldname“ einen Sortierfeldnamen eingeben. Der Standardwert ist „uid“. (Siehe Ordner oder benutzerdefinierte SPIs hinzufügen oder Ordner bearbeiten .)

  2. Verwenden Sie die Sun ONE Administration Console oder ein Befehlszeilenskript, um die LDAP-VLV-Einträge für Benutzer und Gruppen zu erstellen. Mithilfe eines Befehlszeilenskripts können die Benutzer- und Gruppen-LDIF-Beispieldateien verwendet werden. (Siehe Sun ONE Directory Server für VLV konfigurieren .)

  3. Beenden Sie den Server und erstellen Sie den erforderlichen Index. (Siehe Ordnerserverindex für VLV erstellen .)

Sun ONE Directory Server für VLV konfigurieren

Zum Erstellen einer virtuellen Listenansicht muss ein Paar von Einträgen vorhanden sein, zu denen die Objektklassen vlvSearch und vlvIndex gehören. Der vlvSearch-Eintrag beinhaltet eine Suchbasis und das vlvFilter -Attribut, das die Objektklasse angibt, die die Attribute enthält, die sortiert werden sollen. Die vlvIndex -Objektklasse beinhaltet das vlvSort -Attribut, das mindestens ein zu sortierendes Attribut und die Sortierreihenfolge der Attribute angibt (ein Minuszeichen („-“) gibt die umgekehrte Reihenfolge an). Für die Verwendung der virtuellen Listenansicht mit AEM Forms sind getrennte Einträge für Benutzer und Gruppen erforderlich.

Hinweis: Die Objekteinträge können über die grafische Benutzeroberfläche von Sun ONE oder mithilfe eines Befehlszeilenskripts erstellt werden. Anleitungen zum Erstellen der Objekteinträge mithilfe der grafischen Benutzeroberfläche finden Sie in der Sun ONE-Dokumentation.

Im Folgenden finden Sie eine Beispielskript-LDIF für VLV-Einträge für Benutzer:

dn: cn=lcuser,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
objectclass: top 
objectclass: vlvSearch 
cn: lcuser 
vlvBase: dc=corp,dc=adobe,dc=com 
vlvScope: 2 
vlvFilter: (&(objectclass=inetOrgPerson)) 
aci: (target="ldap:///cn=lcuser,cn=userRoot,cn=ldbm database,cn=plugins,cn=config")(targetattr="*")(version 3.0; acl "Config" 
;allow(read,search,compare) userdn="ldap:///all"; ) 
dn: cn=lcuser,cn=lcuser,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
cn: lcuser 
vlvSort: cn 
objectclass: top 
objectclass: vlvIndex

Objekteinträge mit einem Skript erstellen:

  1. Das Beispielskript enthält einen LDAP-Eintrag namens lcuser . Dieser Eintrag dient der VLV-bezogenen Konfiguration für die Benutzersynchronisierung in AEM Forms. Ändern Sie die folgenden Eigenschaften entsprechend:

    Eintragname: Der Name des Eintrags im Beispiel ist lcuser . Wenn lcuser geändert wird, muss er in allen Bereichen des Beispielskripts ebenfalls geändert werden.

    vlvBase: Der auf der Seite „Benutzereinstellungen“ angegebene Basis-DN.

    vlvFilter: Der auf der Seite „Benutzereinstellungen“ angegebene Suchfilter.

    vlvSort: Das auf der Seite „Benutzereinstellungen“ im Bereich mit den VLV-Einstellungen angegebene Sortierfeld. Für ein VLV-Steuerelement muss eine Sortiersteuerung angegeben werden. Dieses Feld wird dann als Sortierparameter für den erstellten vlv-Index verwendet.

    aci: Das im Beispiel angegebene Zugriffssteuerungselement erlaubt jedem authentifizierten Benutzer den Zugriff auf VLV-Indizes für Lese-, Such- und Vergleichsvorgänge. Der Administrator kann den Zugriff so einschränken, dass er an Benutzer gebunden ist, die auf der Seite für die Ordnerservereinstellungen in der User Management-Benutzeroberfläche konfiguriert sind. Wenn keine Berechtigungen gewährt sind, kann die Benutzersuche die virtuelle Listenansicht nicht verwenden und vom LDAP-Server wird eine Berechtigungsausnahme erzeugt.

    Hinweis: Als Konvention wird der vlvIndex-Eintragsname ebenfalls auf lcuser festgelegt, jedoch können Sie einen anderen Namen auswählen. Verwenden Sie denselben Namen wie im vlvindex-Tool. (Siehe Ordnerserverindex für VLV erstellen .)
  2. Erstellen Sie mit dem Tool ldapmodify im Funktionsumfang des Sun ONE-Servers einen ähnlichen Eintrag für Gruppen unter Verwendung des Basis-DN der jeweiligen Gruppe, des Suchfilters und des Sortierfeldes:

    server directory\shared\bin>ldapmodify -v -a -h host -p port -D "admin user" -w "password" -f "LDIF file location"

    Geben Sie beispielsweise folgenden Text ein:

    D:\tools\ldap\sun\shared\bin> -v -a -h localhost -p 55850 -D "uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot" -w "admin" -f "D:\tools\ldap\data\vlv feature\users.ldif"

Ordnerserverindex für VLV erstellen

Beenden Sie nach dem Konfigurieren der Ordnereinstellungen und dem Erstellen der LDAP-VLV-Einträge für Benutzer und Gruppen den Server und erstellen Sie den erforderlichen Index.

  1. Im Anschluss an das Erstellen der Objekteinträge beenden Sie den Sun ONE Server.

  2. Generieren Sie mit dem Tool „vlvindex“ den Index durch Eingabe des folgenden Textes:

    Ordnerserverinstanz \vlvindex.bat -n userRoot -T lcuser

    Folgende Ausgabe wird erzeugt:

    D:\tools\ldap\sun\shared\bin>..\..\slapd-chetanmeh-xp3\vlvindex.bat -n userRoot -T livecycle 
    [21/Nov/2007:16:47:26 +051800] - userRoot: Indexing VLV: livecycle 
    [21/Nov/2007:16:47:27 +051800] - userRoot: Indexed 1000 entries (5%). 
    [21/Nov/2007:16:47:27 +051800] - userRoot: Indexed 2000 entries (9%). 
    ... 
    [21/Nov/2007:16:47:29 +051800] - userRoot: Indexed 20000 entries (94%). 
    [21/Nov/2007:16:47:29 +051800] - userRoot: Indexed 21000 entries (99%). 
    [21/Nov/2007:16:47:29 +051800] - userRoot: Finished indexing.

    Das vlvindex-Tool befindet sich im Ordner der Ordnerserverinstanz. Wenn der Sun ONE Server zwei Instanzen ausführt (server1 und server2), befindet sich das vlvindex-Tool im Ordner „ Sun ONE-Serverordner \server1“. Der Wert für den Parameter -T ist der Wert des Attributs cn des weiter oben erstellten vlvindex-Eintrags (zweiter Eintrag in der Beispiel-ldif). In diesem Beispiel ist er auf lcuser festgelegt.

  3. Wenn die virtuelle Listenansicht für Gruppen aktiviert ist, muss auch der entsprechende Index für die Gruppen erstellt werden. Sie können dann überprüfen, ob die Indizes erstellt wurden, indem Sie folgenden Befehl ausführen:

    sun one-Serverordner \shared\bin>ldapsearch -h Hostname -p Anschlussnummer -s base -b "" objectclass=*

    Folgende Ausgabe wird erzeugt (Beispieldaten):

    D:\tools\ldap\sun\shared\bin>ldapsearch.exe -h localhost -p 55850 -s base -b "" objectclass=* 
    ldapsearch.exe: started Tue Nov 27 16:34:20 2007 
    version: 1 
    dn: 
    objectClass: top 
    namingContexts: dc=corp,dc=adobe,dc=com 
    supportedExtension: 2.16.840.1.113730.3.5.7 
    ... 
    vlvsearch: cn=MCC ou=testdata dc=corp dc=adobe dc=com, cn=userRoot,cn=ldbm dat 
        abase,cn=plugins,cn=config 
    vlvsearch: cn=lcuser,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
    vlvsearch: cn=Browsing ou=testdata,cn=userRoot,cn=ldbm database,cn=plugins,cn= 
        config 
    1 matches