Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LDAP SEARCH ALL
|
LDAP SEARCH ALL ( dnRootEinstieg ; arrErgebnis ; Filter {; Reichweite {; Attribute {; AttributealsArray}}} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
dnRootEinstieg | String |
![]() |
Distinguished Name des Root Einstiegs zum Starten der Suche | |||||
arrErgebnis | Array Objekt |
![]() |
Suchergebnis | |||||
Filter | String |
![]() |
LDAP Suchfilter | |||||
Reichweite | String |
![]() |
Reichweite der Suche: "base" (Standard), "one" oder "sub" | |||||
Attribute | Array Text |
![]() |
Zu holende Attribute | |||||
AttributealsArray | Array Boolean |
![]() |
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:
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
Produkt: 4D
Thema: LDAP
Nummer:
1329
Erstellt: 4D v15
4D Programmiersprache ( 4D v20 R7)