4D v16.3

LDAP SEARCH ALL

Home

 
4D v16.3
LDAP SEARCH ALL

LDAP SEARCH ALL 


 

LDAP SEARCH ALL ( dnRootEinstieg ; arrErgebnis ; Filter {; Reichweite {; Attribute {; AttributealsArray}}} ) 
Parameter Typ   Beschreibung
dnRootEinstieg  String in Distinguished Name des Root Einstiegs zum Starten der Suche
arrErgebnis  Array Objekt in Suchergebnis
Filter  String in LDAP Suchfilter
Reichweite  String in Reichweite der Suche: "base" (Standard), "one" oder "sub"
Attribute  Array Text in Zu holende Attribute
AttributealsArray  Array Boolean in true = Attribute als Array zurückgeben
false = Attribute als einfache Variable zurückgeben

Der Befehl LDAP SEARCH ALL sucht nach allen Vorkommen, die zum definierten Kriterium im Ziel LDAP Server passen. Dieser Befehl muss innerhalb einer Verbindung zum LDAP Server ausgeführt werden, geöffnet mit LDAP LOGIN, andernfalls wird der Fehler 1003 zurückgegeben.

Beachten Sie, dass LDAP Server in der Regel ein Maximum an Werten vorschreiben, die von einer Suche empfangen werden können. Microsoft Active Directory begrenzt diese z.B. standardmäßig auf 1000 Werte.

In dnRootEinstieg übergeben Sie den Distinguished Name des Root Einstiegs für den LDAP Server; die Suche startet an dieser Stelle. Sie können eine leeren String "" übergeben, um die Suche nicht zu filtern; mit "*" können Sie nach Unterstrings suchen.

In tabErgebnis übergeben Sie ein Objekt Array, das mit allen passenden Werten gefüllt wird; in diesem Array ist jedes Element ein Objekt mit Attribut/Wert Paaren, die pro passendem Wert zurückgegeben werden. Im Parameter Attribute können Sie definieren, wie die Attribute zurückgegeben werden.

In Filter übergeben Sie den auszuführenden LDAP Suchfilter. Der Filterstring muss die Vorgaben von rfc2225 berücksichtigen.

In Reichweite übergeben Sie eine der folgenden Konstanten unter dem Thema "LDAP":

Konstante Typ Wert Kommentar
LDAP all levels Zeichenkette sub Suche nur in der Root Einstiegsebene, definiert durch dnRootEinstieg (Standard, wenn weggelassen)
LDAP root and next Zeichenkette one Suche in der Root Einstiegsebene, definiert durch dnRootEinstieg und in den direkt nachfolgenden Einstiegen auf einer Ebene
LDAP root only Zeichenkette base Suche nur in der Root Einstiegsebene, definiert durch dnRootEinstieg (Standard, wenn weggelassen)

In Attribute übergeben Sie ein Text Array mit der Liste aller LDAP Attribute, die von den passenden Einstiegspunkten zu holen sind. Standardmäßig, d.h. ohne diesen Parameter, werden alle Attribute geholt.

Hinweis: Beachten Sie, dass LDAP Attributnamen zwischen Groß- und Kleinschreibung unterscheiden. Weitere Informationen zu LDAP Attributen finden Sie auf der Seite Attributes. Sie zeigt alle verfügbaren Attribute für das Microsoft Active Directory.

Bei mehreren Ergebnissen gibt der Befehl Attribute standardmäßig als Array zurück, bei einem Ergebnis als Variable. Mit dem optionalen Parameter AttributealsArray können Sie festlegen, ob der bzw. die zurückgegebenen Werte als Array oder als Variable formatiert werden sollen:

  • Übergeben Sie true in einem Element, wird das entsprechende Element des Parameters Attribute in einem Array zurückgegeben. Wird nur ein Wert gefunden, gibt der Befehl ein Array mit einem einzelnen Element zurück.
  • Übergeben Sie false in einem Element, wird das entsprechende Element des Parameters Attribute in einer einfachen Variable zurückgegeben. Werden mehrere Werte gefunden, gibt der Befehl nur das erste Element zurück.

Die Telefonnummer aller Benutzer mit Namen "smith" im Firmenverzeichnis erhalten:

 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"telephoneNumber")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 ARRAY OBJECT($_entry;0)
 
 LDAP LOGIN($url;$myLogin;$pwd)
 $filter:="cn=*smith*"
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes)
 LDAP LOGOUT
 
 
  //$_entry kann z.B. enthalten
  // $_entry{1} = {"cn":"John Smith","telephoneNumber":"01 40 87 00 00"}
  // $_entry{2} = {"cn":"Adele Smith","telephoneNumber":"01 40 87 00 01"}
  // $_entry{3} = {"cn":"Adrian Smith","telephoneNumber":"01 23 45 67 89"}
  // ...

Beispiele für die Verwendung des Parameters attributesAsArray:

 ARRAY OBJECT($_entry;0)
 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"memberOf")
 APPEND TO ARRAY($_tabAttributes_asArray;True)
 
 LDAP LOGIN($url;$login;$pwd;LDAP password plain text)
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes;$_tabAttributes_asArray)
 LDAP LOGOUT
 
 ARRAY TEXT($_arrMemberOf;0)
 OB GET ARRAY($_entry{1};"memberOf";$_arrMemberOf)
  // $_arrMemberOf ist ein Array mit allen Gruppen der Eingabe

 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"memberOf")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 
 LDAP LOGIN($url;$login;$pwd;LDAP password plain text)
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes;$_tabAttributes_asArray)
 LDAP LOGOUT
 
 $memberOf:=OB Get($_entry{1};"memberOf")
  // $memberOf ist eine Variable mit der ersten Gruppe der Eingabe



Siehe auch 

LDAP
LDAP Search

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: LDAP
Nummer: 1329

 
GESCHICHTE 

Erstellt: 4D v15

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)