Programmer's Reference Guide
| Einführung |
API Übersicht
Konfiguration und Optionen
Die Zend_Ldap Komponente akzeptiert ein Array von Optionen die entweder im Constructor übergeben werden oder durch die setOptions() Methode. Die erlaubten Optionen sind folgende:
| Name | Beschreibung |
|---|---|
| host | Der Standard Hostname des LDAP Servers wenn bei connect() keiner angegeben wurde (kann auch verwendet werden wenn versucht wird Benutzernamen in bind() zu kanonisieren). |
| port | Standard Port des LDAP Servers wenn bei connect() keiner angegeben wurde. |
| useStartTls | Ob der LDAP Client TLS (auch als SSLv2 bekannt) verschlüsselten Transport verwenden soll oder nicht. Der Wert TRUE wird in Produktionsumgebungen stärkstens empfohlen um zu verhindern das Passwörter im Klartext übermittelt werden. Der Standardwert ist FALSE, da Server oft ein separat installiertes Zertifikat nach der Installation benötigen. Die Optionen useSsl und useStartTls sind gegenseitig exklusiv. Die Option useStartTls sollte gegenüber useSsl bevorzugt verwendet werden aber nicht alle Server unterstützen diesen neueren Mechanismus. |
| useSsl | Ob der LDAP Client einen SSL verschlüsselten Transport verwenden soll. Die Optionen useSsl und useStartTls sind gegenseitig exklusiv. |
| username | Der Standard Benutzername des Accounts. Einige Server erwarten Ihn in DN Form. Er muß in DN Form angegeben werden wenn der LDAP Server einen DN für das Binden benötigt und das Binden mit einem einfachen Benutzernamen möglich sein soll. |
| password | Das Standard Passwort des Accounts (nur mit dem obigen Benutzernamen verwendet). |
| bindRequiresDn | Ist er TRUE, dann instruiert er Zend_Ldap den DN für den Account zu empfangen der für das Binden des Benutzernamens verwendet wird wenn dieser nicht bereits in DN Form ist. Der Standardwert ist FALSE. |
| baseDn | Der Standard Basis DN der für das Suchen (z.B. nach Accounts) verwendet wird. Diese Option wird fr die meisten Account bezogenen Operationen verwendet und sollte den DN anzeigen unter dem Accounts zu finden sind. |
| accountCanonicalForm | Ein kleiner Integerwert der die Form anzeigt zu der Accountnamen kanonisiert werden sollen. Siehe auch das Kapitel Kanonisierung von Account Namen weiter unten. |
| accountDomainName | Die FQDN Domain für die der LDAP Zielserver die Authorität ist (z.B., example.com). |
| accountDomainNameShort | Die 'short' Domain für die der LDAP Zielserver die Authorität ist. Das wird normalerweise verwendet um den NetBIOS Domainnamen für Windows Netzwerke zu spezifizieren, kann aber auch von nicht-AD Servern verwendet werden. |
| accountFilterFormat | Der Suchfilter für LDAP der für das Suchen von Accounts verwendet wird. Der String ist ein Ausdruck im Stil von » sprintf() der ein '%s' enthalten muss um den Benutzernamen zu notieren. Der Standardwert ist '(&(objectClass=user)(sAMAccountName=%s))' solange bindRequiresDn nicht auf TRUE gesetzt ist. In dem Fall ist der Standardwert '(&(objectClass=posixAccount)(uid=%s))'. Benutzer eines eigenen Schemas können die Notwendigkeit haben diese Option zu ändern. |
| allowEmptyPassword | Einige LDAP Server können konfiguriert werden um ein leeres Passwort als anonymen Bind zu akzeptieren. Dieses Verhalten ist meistens immer unerwünscht. Aus diesem Grund sind leere Passwörter explizit unerwünscht. Dieser Wert muß auf TRUE gesetzt werden um zu akzeptieren das ein leeres Passwort wärend des Bindens übergeben werden kann. |
| optReferrals | Wenn Sie auf TRUE gesetzt wird zeigt diese Option an das dem LDAP Client der referiert, gefolgt werden soll. Der Standardwert ist FALSE. |
| tryUsernameSplit | Wenn Sie auf FALSE gesetzt wird zeigt diese Option an das der angegebene Benutzername nicht mit dem ersten @ oder \ Zeichen geteilt werden soll um den Benutzernamen wärend der Bindungs-Prozedur von der Domain zu trennen. Das erlaubt es dem Benutzer, Benutzernamen zu verwenden die ein @ oder \ Zeichen enthalten, welche keine Domain-Information enthalten, z.B. die Verwendung von Email Adressen für das Binden. Der Standardwert ist TRUE. |
API Referenz
Hinweis: Methodennamen in italic sind statische Methoden.
Zend_Ldap
Zend_Ldap ist das Basisinterface zum LDAP Server. Es bietet Verbindungs- und Bindungsmethode sowie Methoden um auf dem LDAP Baum zu arbeiten.
| Methode | Beschreibung |
|---|---|
string filterEscape(string $str) |
Escapt einen Wert damit dieser in einem LDAP Filter entsprechend RFC 2254. Diese Methode ist deprecated, stattdessen sollte Zend_Ldap_Dn::checkDn() verwendet werden. |
boolean explodeDn($dn, array &$keys = null, array &$vals =
null)
|
Prüft ob ein angegebener DN $dn fehlerhaft ist. Wenn $keys oder $keys und $vals angegeben werden, werden diese Arrays mit den entsprechenden DN Schlüsseln und Werten gefüllt. Diese Methode ist deprecated, stattdessen sollte Zend_Ldap_Dn::checkDn() verwendet werden. |
__construct($options) |
Constructor. Der $options Parameter ist Optional und kann ein Array, oder eine Instanz von Zend_Config sein. Wenn keine Optionen bei der Instanzierung angegeben werden, müssen die Verbindungsparameter der Instanz übergeben werden indem man Zend_Ldap::setOptions() verwendet. Die erlaubten Optionen werden in Zend_Ldap Optionen apezifiziert. |
resource getResource() |
Gibt die rohe Ressource der LDAP Erweiterung (ext/ldap) zurück. |
integer getLastErrorCode() |
Gibt die LDAP Fehlernummer des letzten LDAP Kommandos zurück. |
string getLastError(integer &$errorCode, array
&$errorMessages)
|
Gibt die LDAP Fehlermeldung des letzten LDAP Kommandos zurück. Der optionale $errorCode Parameter ist auf die LDAP Fehlernummer gesetzt wenn er angegeben ist. Die verschiedenen LDAP Funktionen welche Fehler zurückgeben können unterschiedliche Dinge zurückgeben, sodas Sie alle gesammelt werden wenn $errorMessages angegeben ist. |
Zend_Ldap setOptions($options) |
Setzt die LDAP Verbindungs- und Bindungsparameter. $options kann ein Array oder eine Instanz von Zend_Config sein. Die erlauben Optionen werden in Zend_Ldap Optionen definiert. |
array getOptions() |
Gibt die aktuellen Verbindungs- und Bindungsparameter zurück. |
string getBaseDn() |
Gibt den Basis DN zurück auf welche diese LDAP Verbindung gebunden ist. |
string getCanonicalAccountName(string $acctname, integer $form)
|
Gibt den kanonischen Account Namen des angegebenen Account Namens $acctname zurück. $form spezifiziert das Format in das der Account Name kanonisiert wird. Siehe Kanonisierung des Account Namens für weitere Details. |
Zend_Ldap disconnect() |
Trennt die Verbindung der Zend_Ldap Instanz vom LDAP Server. |
Zend_Ldap connect(string $host, integer $port, boolean $useSsl,
boolean $useStartTls)
|
Verbindet eine Instanz von Zend_Ldap mit dem angegebenen LDAP Server. Alle Parameter sind optional, und werden von den LDAP Verbindungs- und Bindungsparametern genommen welche der Instanz über den Constructor oder über Zend_Ldap::setOptions() angegeben wurden, wenn NULL angegeben wurde. |
Zend_Ldap bind(string $username, string $password) |
Authentifiziert $username mit
$password beim LDAP Server. Wenn
beide Parameter nicht angegeben werden, dann wird die Verbindung mit den
Anmeldeinformationen durchgeführt welche in den Verbindungs- und
Bindungsparametern angegeben wurden, und ein anonymes Binden wird
ausgeführt. Es ist zu beachten dass hierbei anonymes Binden vom
LDAP Server erlaubt sein muss. Ein leerer String
'' kann als $password zusammen mit einem
Benutzernamen übergeben werden wenn, und nur wenn,
allowEmptyPassword in den Verdinguns- und Bindungsparametern
auf TRUE gesetzt ist.
|
Zend_Ldap_Collection search(string|Zend_Ldap_Filter_Abstract $filter,
string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string
$sort, string $collectionClass)
|
Durchsucht den LDAP Baum mit dem angegebenen
$filter und den angegebenen Such Parametern.
|
integer count(string|Zend_Ldap_Filter_Abstract
$filter, string|Zend_Ldap_Dn $basedn, integer $scope)
|
Zählt die Elemente welche durch die angegebenen Such Parameter zurückgegeben werden. Siehe Zend_Ldap::search() für eine detailierte Beschreibung der Parameter der Methode. |
integer countChildren(string|Zend_Ldap_Dn $dn) |
Zählt die direkten Abhängigkeiten (Kinder) des Eintrags, der durch den angegebenen $dn identifiziert wird. |
boolean exists(string|Zend_Ldap_Dn $dn) |
Prüft ob der Eintrag, der durch den angegebenen $dn identifiziert wird, existiert. |
array searchEntries(string|Zend_Ldap_Filter_Abstract
$filter, string|Zend_Ldap_Dn $basedn, integer $scope, array
$attributes, string $sort)
|
Führt eine Such Operation durch und gibt als Ergebnis ein PHP Array zurück. Das ist notwendigerweise die gleiche Methode wie Zend_Ldap::search() ausser beim Rückgabe Typ. Siehe Zend_Ldap::search() für eine detailierte Beschreibung der Parameter der Methode. |
array getEntry(string|Zend_Ldap_Dn $dn, array
$attributes, boolean $throwOnNotFound)
|
Gibt den LDAP Eintrag zurück der von $dn mit den in $attributes angegebenen Attributen identifiziert wird. Wenn $attributes unterdrückt wird ( array()) werden alle Attribute im Ergebnis ausgegeben. $throwOnNotFound ist standardmäßig FALSE, so dass die Methode NULL zurückgibt wemm der spezifizierte Eintrag nicht gefunden wird. Wenn er auf TRUE gesetzt ist, wird statt dessen eine Zend_Ldap_Exception geworfen. |
void prepareLdapEntryArray(array
&$entry)
|
Bereitet ein Array für die Verwendung in Modifikations Operationen von LDAP vor. Diese Methode muß nicht von Endbenutzern aufgerufen werden da Sie implizit bei jeder Methode die Daten verändert aufgerufen wird. |
Zend_Ldap add(string|Zend_Ldap_Dn $dn, array $entry)
|
Fügt den Eintrag der durch $dn mit seinen $entry identifiziert wird im LDAP Baum hinzu. Wirft eine Zend_Ldap_Exception wenn der Eintrag nicht hinzugefügt werden konnte. |
Zend_Ldap update(string|Zend_Ldap_Dn $dn, array $entry)
|
Aktualisiert den Eintrag der durch $dn mit seinen $entry Attributen identifiziert wird im LDAP Baum. Wirft eine Zend_Ldap_Exception wenn der Eintrag nicht geändert werden konnte. |
Zend_Ldap save(string|Zend_Ldap_Dn $dn, array $entry)
|
Speichert den Eintrag der durch $dn mit seinen $entry Attributen identifiziert wird im LDAP Baum. Wirft eine Zend_Ldap_Exception wenn der Eintrag nicht gespeichert werden konnte. Diese Methode wählt durch eine Suche im LDAP Baum ob der Eintrag hinzugefügt oder aktualisiert wird. |
Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean $recursively)
|
Löscht den Eintrag der durch $dn identifiziert wird vom LDAP Baum. Wirft eine Zend_Ldap_Exception Exception wenn der Eintrag nicht gelöscht werden kann. $recursively ist standardmäßig FALSE. Auf TRUE gesetzt wird das Löschen rekursiv durchgeführt und löscht effektiver Weise den kompletten Unterbaum. Das Löschen wird fehlschlagen wenn $recursively FALSE ist und der $dn Eintrag kein Blatteintrag ist. |
Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn
$to, boolean $recursively, boolean $alwaysEmulate)
|
Verschiebt den Eintrag der von $from identifiziert wird
auf einen Ort nach $to wobei sein RDN
unverändert bleibt. $recursively spezifiziert ob die
Operation rekursiv ausgeführt wird (standardmäßig
FALSE) so dass der Eintrag $from und
alle seine Untereinträge verschoben werden. Das Verschieben wird
fehlschlagen wenn $recursively FALSE
ist und der Eintrag $from kein Blatteintrag ist.
$alwaysEmulate kontrolliert ob die ext/ldap Funktion
ldap_rename() verwendet werden soll wenn Sie
vorhanden ist. Das kann nur für Blatteinträge funktionieren und für Server
und für ext/ldap die diese Funktion unterstützen. Auf
TRUE gesetzt wird immer eine emulierte Rename Operation
verwendet.
|
Zend_Ldap move(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to,
boolean $recursively, boolean $alwaysEmulate)
|
Das ist ein Alias für Zend_Ldap::rename(). |
Zend_Ldap rename(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to,
boolean $recursively, boolean $alwaysEmulate)
|
Benennt den Eintrag der von $from bis $to identifiziert wird um. $recursively spezifiziert ob die Operation rekursiv durchgeführt werden soll (standardmäßig FALSE) so das der Eintrag $from und alle seine Abhängigkeiten verschoben werden. Das Umbenennen wird fehlschlagen wenn $recursively FALSE ist und der Eintrag $from kein Blatteintrag ist. $alwaysEmulate kontrolliert ob die ext/ldap Funktion ldap_rename() verwendet werden soll wenn Sie vorhanden ist. Das kann nur für Blatteinträge und für Server funktionieren und für ext/ldap welches diese Funktion unterstützt. Wird es auf TRUE gesetzt wird immer die emulierte rename Operation verwendet. |
Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively)
|
Kopiert den Eintrag der von $from bis zu einem Ort unterhalb von $to identifiziert wird und lässt dessen RDN unverändert. $recursively spezifiziert ob die Operation rekursiv durchgeführt werden soll (standardmäßig FALSE) so das der Eintrag $from und alle seine Abhängigkeiten kopiert werden. Das Kopieren wird fehlschlagen wenn $recursively FALSE ist und der Eintrag $from kein Blatteintrag ist. |
Zend_Ldap copy(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively)
|
Kopiert den Eintrag der von $from bis $to identifiziert wird. $recursively spezifiziert ob die Operation rekursiv durchgeführt werden soll (standardmäßig FALSE) so das der Eintrag $from und alle seine Abhängigkeiten kopiert werden. Das Kopieren wird fehlschlagen wenn $recursively FALSE ist und der Eintrag $from kein Blatteintrag ist. |
Zend_Ldap_Node getNode(string|Zend_Ldap_Dn $dn) |
Gibt den $dn Eintrag zurück der in einem Zend_Ldap_Node gewrappt ist. |
Zend_Ldap_Node getBaseNode() |
Gibt den Eintrag für den Basis DN $baseDn zurück der in einer Zend_Ldap_Node gewrappt ist. |
Zend_Ldap_Node_RootDse getRootDse() |
Gibt den RootDSE für den aktuellen Server zurück. |
Zend_Ldap_Node_Schema getSchema() |
Gibt das LDAP Schema für den aktuellen Server zurück. |
Zend_Ldap_Collection
Zend_Ldap_Collection implementiert Iterator um
das Durchlaufen von Einträgen zu erlauben indem foreach() und
Countable verwendet werden welche in der Lage sind auf
count() zu Antworten. Mit seiner geschützten
_createEntry() Methode bietet es einen einfachen Punkt der
Erweiterung für Entwickler welche die Notwendigkeit für eigene Ergebnisobjekte haben.
| Methode | Beschreibung |
|---|---|
__construct(Zend_Ldap_Collection_Iterator_Interface
$iterator)
|
Constructor. Der Constructor muß von einem Zend_Ldap_Collection_Iterator_Interface angeboten werden welches die echte Iteration der Resultate durchführt. Zend_Ldap_Collection_Iterator_Default ist die standardmäßige Implementation für die Interation durch ext/ldap Ergebnisse. |
boolean close() |
Schließt den internen Iterator. Wird auch im Destructor aufgerufen. |
array toArray() |
Gibt alle Einträge als Array zurück. |
array getFirst() |
Gibt den ersten Eintrag der Collection zurück, oder NULL wenn die Collection leer ist. |
Zend_Ldap_Attribute
Zend_Ldap_Attribute ist eine Helfer Klasse die nur Statische Methoden anbietet für die Manipulation von Arrays die zur Struktur passen welche in den Zend_Ldap Data Änderungs Methoden verwendet werden und zum Datenformat das vom Zend_Ldap Server benötigt wird. PHP Datentypen werden wie folgt konvertiert:
-
string -
Es wird keine Konvertierung durchgeführt.
-
integerundfloat -
Der Wert wird zu einem String konvertiert.
-
boolean -
TRUE wird zu 'TRUE' konvertiert und FALSE zu 'FALSE'
-
objectundarray -
Diese Werte werden zu einem String konvertiert indem serialize() verwendet wird.
-
resource -
Wenn eine
streamRessource angegeben wurde, werden die Daten durch den Aufruf von stream_get_contents() geholt. -
- others
-
Alle anderen Datentypen (speziell nicht-Stream Ressourcen) werden verweigert.
Beim Lesen von Attributwerten werden die folgenden Konvertierungen durchgeführt:
-
- 'TRUE'
-
Wird zu TRUE konvertiert.
-
- 'FALSE'
-
Wird zu FALSE konvertiert.
-
- others
-
Alle anderen Strings werden nicht automatisch konvertiert und so wie Sie sind übergeben.
| Methode | Beschreibung |
|---|---|
void setAttribute(array &$data, string
$attribName, mixed $value, boolean $append)
|
Setzt die Attribute $attribName in $data auf den Wert $value. Wenn $append TRUE ist (standardmäßig FALSE) wird $value an das Attribut angehängt. $value kann ein skalarer Wert oder ein Array von skalaren Werten sein. Eine Konvertierung wird durchgeführt. |
array|mixed getAttribute(array $data,
string $attribName, integer|null $index)
|
Gibt das Attribut $attribName von $data zurück. Wenn $index NULL ist (Standardwert) wird ein Array zurückgegeben welches alle Werte für das angegebene Attribut enthält. Ein leeres Array wird zurückgegeben wenn das Attribut im angegebenen Array nicht existiert. Wenn ein Integer für den Index spezifiziert wird, dann wird der korrespondierende Wert mit dem gegebenen Index zurückgegeben. Wenn der Index ausserhalb der Grenzen ist wird NULL zurückgegeben. Eine Konvertierung wird durchgeführt. |
boolean attributeHasValue(array &$data,
string $attribName, mixed|array $value)
|
Prüft ob das Attribut $attribName in $data den Wert oder die Werte welche in $value angegeben wurden hat. Die Methode gibt nur dann TRUE zurück wenn alle Werte von $value im Attribut enthalten sind. Der Vergleich wird strikt durchgeführt (der Datentyp wird respektiert). |
void removeDuplicatesFromAttribute(array
&$data, string $attribName)
|
Entfernt alle Duplikate vom Attribut $attribName in $data. |
void removeFromAttribute(array &$data,
string $attribName, mixed|array $value)
|
Entfernt den Wert oder die Werte vom Attribut $attribName die in $value angegeben werden von $data. |
string|null convertToLdapValue(mixed
$value)
|
Konvertiert einen PHP Datentyp in seine LDAP Repräsentation. Siehe die Einleitung für Details. |
mixed convertFromLdapValue(string
$value)
|
Konvertiert einen LDAP Wert in seinen PHP Datentyp. Siehe die Einleitung für Details. |
string|null
convertToLdapDateTimeValue(integer $value, boolean $utc)
|
Konvertiert einen Zeitpunkt in seine LDAP Datum und Zeit Repräsentation. Wenn $utc TRUE ist (standardmäßig ist es FALSE) dann wird der resultierende LDAP Datum und Zeit String in UTC sein, andernfalls wird ein lokaler Datum und Zeit String zurückgegeben. |
integer|null
convertFromLdapDateTimeValue(string $value)
|
Konvertiert eine Datum und Zeit Repräsentation für LDAP in einen Zeitpunkt. Die Methode gibt NULL zurück wenn $value nicht in einen PHP Zeitpunkt zurückkonvertiert werden kann. |
void setPassword(array &$data, string
$password, string $hashType, string $attribName)
|
Setzt ein LDAP Passwort für das Attribut
$attribName in $data zurück.
$attribName ist standardmäßig 'userPassword'
welches das standardmäßige Attribut für Passwörter ist. Der Hash für das
Passwort kann mit $hashType spezifiziert werden. Der
Standardwert ist Zend_Ldap_Attribute::PASSWORD_HASH_MD5
wobei Zend_Ldap_Attribute::PASSWORD_HASH_SHA die andere
Möglichkeit ist.
|
string createPassword(string $password,
string $hashType)
|
Erstellt ein LDAP Passwort. Der Hash für das Passwort kann mit $hashType spezifiziert werden. Der Standardwert ist Zend_Ldap_Attribute::PASSWORD_HASH_MD5 wobei Zend_Ldap_Attribute::PASSWORD_HASH_SHA die andere Möglichkeit ist. |
void setDateTimeAttribute(array &$data,
string $attribName, integer|array $value, boolean $utc, boolean
$append)
|
Setzt das Attribut $attribName in $data auf den Datum und Zeitwert $value. Wenn $append TRUE ist (standardmäßig ist er FALSE) dann wird $value an das Attribut angehängt. $value kann ein Integerwert oder ein Array von Integerwerten sein. Die Konvertierung von Datum und Zeit wird entsprechend zu Zend_Ldap_Attribute::convertToLdapDateTimeValue() durchgeführt. |
array|integer getDateTimeAttribute(array
$data, string $attribName, integer|null $index)
|
Gibt das Datum und Zeit Attribut $attribName von $data zurück. Wenn $index NULL ist (das ist der Standardwert) dann wird ein Array zurückgegeben welches alle Datum und Zeitwerte für das angegebene Attribut enthält. Ein leeres Array wird zurückgegeben wenn das Attribut im angegebenen Array nicht existiert. Wenn ein Integer Index spezifiziert wird, dann wird der korrespondierende Datum und Zeitwert vom angegebenen Index zurückgegeben. Wenn der Index ausserhalb der Grenzen ist dann wird NULL zurückgegeben. Die Konvertierung von Datum und Zeit wird entsprechend zu Zend_Ldap_Attribute::convertFromLdapDateTimeValue() durchgeführt. |
Zend_Ldap_Dn
Zend_Ldap_Dn bietet ein objektorientiertes Interface für die Manipulation von LDAP Distinguished Names (DN). Der Parameter $caseFold wird in verschiedenen Methoden verwendet um festzustellen wie DN Attribute betreffend Ihres Schreibweise behandelt werden. Die erlaubten Werte für diesen Parameter sind:
-
- Zend_Ldap_Dn::ATTR_CASEFOLD_NONE
-
Es wird keine Änderung der Schreibweise durchgeführt.
-
- Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER
-
Alle Attribute werden zur Großschreibung konvertiert.
-
- Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER
-
Alle Attribute werden zur Kleinschreibung konvertiert.
Die Standardmäßige Schreibweise ist Zend_Ldap_Dn::ATTR_CASEFOLD_NONE und kann mit Zend_Ldap_Dn::setDefaultCaseFold() gesetzt werden. Jede Instanz von Zend_Ldap_Dn kann Ihre eigenen Einstellungen für die Schreibweise haben. Wenn der Parameter $caseFold beim Methodenaufruf nicht angegeben wird dann ist er standardmäßig die Einstellung der Schreibweise von der Instanz.
Die Klasse implementiert ArrayAccess um den indizierten Zugriff auf die
unterschiedlichen Teile der DN zu gestatten. Die ArrayAccess Methoden verweisen
für offsetGet(integer $offset) auf
Zend_Ldap_Dn::get($offset, 1, null), für
offsetSet() auf
Zend_Ldap_Dn::set($offset, $value) und für
offsetUnset() auf
Zend_Ldap_Dn::remove($offset, 1).
offsetExists() prüft einfach ob der Index innerhalb der Grenzen
ist.
| Methode | Beschreibung |
|---|---|
Zend_Ldap_Dn factory(string|array $dn,
string|null $caseFold)
|
Erstellt eine Zend_Ldap_Dn Instanz von einem Array oder String. Das Array muß der unter Zend_Ldap_Dn::implodeDn() beschriebenen Arraystruktur entsprechen. |
Zend_Ldap_Dn fromString(string $dn,
string|null $caseFold)
|
Erstellt eine Zend_Ldap_Dn Instanz von einem String. |
Zend_Ldap_Dn fromArray(array $dn,
string|null $caseFold)
|
Erstellt eine Zend_Ldap_Dn Instanz von einem Array. Das Array muß der Arraystruktur entsprechen welche unter Zend_Ldap_Dn::implodeDn() beschrieben ist. |
array getRdn(string|null $caseFold) |
Gibt den RDN des aktuellen DN zurück. Der zurückgegebene Wert ist ein Array wobei die Namen der Attribute von RDN im Schlüssel gesetzt sind und die RDN Attribute als Wert. |
string getRdnString(string|null $caseFold) |
Gibt den RDN vom aktuellen DN zurück. Der zurückgegebene Wert ist ein String. |
Zend_Ldap_Dn getParentDn(integer $levelUp) |
Gibt den DN des aktuellen DN Knotens, $levelUp Levels
höher, zurück. $levelUp ist standardmäßig 1.
|
array get(integer $index, integer $length, string|null
$caseFold)
|
Gibt einen Teil des aktuellen DN zurück der von $index
und $length eingegrenzt wird. $index
beginnt mit 0 und der DN Teil von links.
|
Zend_Ldap_Dn set(integer $index, array $value)
|
Ersetzt den DN Teil im aktuellen DN. Diese Operation manipuliert die aktuelle Instanz. |
Zend_Ldap_Dn remove(integer $index, integer $length)
|
Entfernt einen DN Teil vom aktuellen DN. Diese Operation manipuliert die
aktuelle Instanz. $length ist standardmäßig
1.
|
Zend_Ldap_Dn append(array $value) |
Fügt einen DN Teil zum aktuellen DN hinzu, Diese Operation manipuliert die aktuelle Instanz. |
Zend_Ldap_Dn prepend(array $value) |
Fügt einen DN Teil vor dem aktuellen DN hinzu. Diese Operation manipuliert die aktuelle Instanz. |
Zend_Ldap_Dn insert(integer $index, array $value)
|
Fügt einen DN Teil nach dem Index $index in den aktuellen DN ein. Diese Operation manipuliert die aktuelle Instanz. |
void setCaseFold(string|null $caseFold) |
Setzt die Option für die Schreibweise auf der aktuellen DN Instanz. Wenn $caseFold NULL ist dann wird die standardmäßige Einstellung der Schreibweise (standardmäßig ist Zend_Ldap_Dn::ATTR_CASEFOLD_NONE oder über Zend_Ldap_Dn::setDefaultCaseFold() gesetzt) für die aktuelle Instanz gesetzt. |
string toString(string|null $caseFold) |
Gibt den DN als String zurück. |
array toArray(string|null $caseFold) |
Gibt den DN als Array zurück. |
string __toString() |
Gibt den DN als String zurück - verweist auf Zend_Ldap_Dn::toString(null). |
void setDefaultCaseFold(string $caseFold)
|
Setzt die standardmäßige Option für die Schreibweise welche von allen Instanzen bei der Erstellung standardmäßig verwendet wird. Bereits existierende Instanzen sind von dieser Einstellung nicht betroffen. |
array escapeValue(string|array $values)
|
Escapt einen DN Wert entsprechend RFC 2253. |
array unescapeValue(string|array $values)
|
Macht die Konvertierung von Zend_Ldap_Dn::escapeValue() rückgängig. |
array explodeDn(string $dn, array
&$keys, array &$vals, string|null $caseFold)
|
Zerteilt den DN $dn in ein Array das alle Teile des angegebenen DN enthält. $keys sind optional die DN Schlüssel (z.B. CN, OU, DC, ...). $vals sind optional die DN Werte. Das zurückgegebene Array ist vom Typ
für einen DN von
|
boolean checkDn(string $dn, array
&$keys, array &$vals, string|null $caseFold)
|
Prüft ob der gegebene DN $dn fehlerhaft ist. Wenn $keys oder $keys und $vals angegeben sind, werden diese Arrays mit dem betreffenden DN Schlüssel und Werten gefüllt. |
string implodeRdn(array $part, string|null
$caseFold)
|
Gibt den DN Teil in der Form $attribute=$value zurück.
|
string implodeDn(array $dnArray,
string|null $caseFold, string $separator)
|
Implodiert ein Array der Form die von
Zend_Ldap_Dn::explodeDn() kommt in einen DN
String. $separator ist standardmäßig |
boolean isChildOf(string|Zend_Ldap_Dn
$childDn, string|Zend_Ldap_Dn $parentDn)
|
Prüft ob der angegebene $childDn unter dem $parentDn Subbaum ist. |
Zend_Ldap_Filter
| Methode | Beschreibung |
|---|---|
Zend_Ldap_Filter equals(string $attr,
string $value)
|
Erstellt einen 'gleich' Filter: (attr=value). |
Zend_Ldap_Filter begins(string $attr,
string $value)
|
Erstellt einen 'beginnt mit' Filter: (attr=value*). |
Zend_Ldap_Filter ends(string $attr, string
$value)
|
Erstellt einen 'endet mit' Filter: (attr=*value). |
Zend_Ldap_Filter contains(string $attr,
string $value)
|
Erstellt einen 'enthält' Filter: (attr=*value*). |
Zend_Ldap_Filter greater(string $attr,
string $value)
|
Erstellt einen 'größer' Filter: (attr>value). |
Zend_Ldap_Filter greaterOrEqual(string
$attr, string $value)
|
Erstellt einen 'größer oder gleich' Filter: (attr>=value).
|
Zend_Ldap_Filter less(string $attr, string
$value)
|
Erstellt einen 'kleiner' Filter: (attr<value). |
Zend_Ldap_Filter lessOrEqual(string $attr,
string $value)
|
Erstellt einen 'kleiner oder gleich' Filter: (attr<=value).
|
Zend_Ldap_Filter approx(string $attr,
string $value)
|
Erstellt einen 'ungefähr' Filter: (attr~=value). |
Zend_Ldap_Filter any(string $attr)
|
Erstellt einen 'jeden' Filter: (attr=*). |
Zend_Ldap_Filter string(string $filter)
|
Erstellt einen einfachen eigenen String Filter. Der Benutzer ist dafür verantwortlich das alle Werte kommentiert sind da der Filter so wie er ist verwendet wird. |
Zend_Ldap_Filter mask(string $mask, string
$value,...)
|
Erstellt einen Filter von einer String Maske. Alle $value Parameter werden kommentiert und in $mask umgewandelt indem » sprintf() verwendet wird. |
Zend_Ldap_Filter
andFilter(Zend_Ldap_Filter_Abstract $filter,...)
|
Erstellt einen 'und' Filter von allen angegebenen Attributen. |
Zend_Ldap_Filter
orFilter(Zend_Ldap_Filter_Abstract $filter,...)
|
Erstellt einen 'oder' Filter von allen angegebenen Attributen. |
__construct(string $attr, string $value, string
$filtertype, string|null $prepend, string|null $append)
|
Constructor. Erstellt einen eigenen Filter entsprechend den angegebenen
Parametern. Der resultierende Filter ist eine Verknüpfung von
$attr . $filtertype . $prepend . $value . $append.
Normalerweise wird dieser Constructor nicht benötigt da alle Filter durch
Verwendung der entsprechenden Factory Methoden erstellt werden können.
|
string toString() |
Gibt eine String Repräsentation des Filters zurück. |
string __toString() |
Gibt eine String Repräsentation des Filters zurück. Verweist auf Zend_Ldap_Filter::toString(). |
Zend_Ldap_Filter_Abstract negate() |
Invertiert den aktuellen Filter. |
Zend_Ldap_Filter_Abstract
addAnd(Zend_Ldap_Filter_Abstract $filter,...)
|
Erstellt einen 'und' Filter vom aktuellen Filter und allen als Argument übergegebenen Filtern. |
Zend_Ldap_Filter_Abstract
addOr(Zend_Ldap_Filter_Abstract $filter,...)
|
Erstellt einen 'oder' Filter vom aktuellen Filter und allen als Argument übergebenen Filtern. |
string|array escapeValue(string|array
$values)
|
Kommentiert die angegenen $values entsprechend RFC 2254 so das Sie sicher in LDAP Filtern verwendet werden können. Wenn ein einzelner String angegeben wird, wird ein String zurückgegeben - andernfalls wird ein Array zurückgegeben. Jedes Control Zeichen wie der ASCII Code < 32 sowie die Zeichen mit spezieller Bedeutung in LDAP Filtern "*", "(", ")", und "\" (der Schrägstrich) werden in die Repräsentation Schrägstrich gefolgt von zwei hexadezimalen Ziffern konvertiert das den Hexadezimalen Wert des Zeichens repräsentiert. |
string|array unescapeValue(string|array
$values)
|
Entfernt die Konvertierung die von Zend_Ldap_Filter::escapeValue() durchgeführt wurde. Konvertiert jede Sequenz eines Schrägstriches gefolgt von zwei hexadezimalen Ziffern in die korrespondierenden Zeichen. |
Zend_Ldap_Node
Zend_Ldap_Node enthält die magischen Zugriffsmethoden
__set(), __get(),
__unset() und __isset() um auf die
Attribute mit Ihrem Namen zugreifen zu können. Sie verweisen auf
Zend_Ldap_Node::setAttribute(),
Zend_Ldap_Node::getAttribute(),
Zend_Ldap_Node::deleteAttribute() und
Zend_Ldap_Node::existsAttribute(). Weiters implementiert die Klasse
ArrayAccess für einen Array-artigen Zugriff auf die Attribute.
Zend_Ldap_Node implementiert auch Iterator und
RecursiveIterator um rekursive Suchen im Baum zu erlauben.
| Methode | Beschreibung |
|---|---|
Zend_Ldap getLdap() |
Gibt die aktuelle LDAP Verbindung zurück. Wirft eine Zend_Ldap_Exception wenn der aktuelle Node im abgehängten Modus ist (nicht mit einer Zend_Ldap Instanz verbunden). |
Zend_Ldap_Node attachLdap(Zend_Ldap$ldap) |
Hängt den aktuellen Node an die Zend_Ldap Instanz $ldap an. Wirft eine Zend_Ldap_Exception wenn $ldap für den aktuellen Node nicht verantwortlich ist (wenn der Node kein Kind der Basis DN von $ldap ist). |
Zend_Ldap_Node detachLdap() |
Hängt den Node von der LDAP Verbindung ab. |
boolean isAttached() |
Prüft ob der aktuelle Node an eine LDAP Verbindung angehängt ist. |
Zend_Ldap_Node create(string|array|Zend_Ldap_Dn $dn, array
$objectClass)
|
Factory Methode um einen neuen abgehängten Zend_Ldap_Node für einen angegebenen DN zu erstellen. Erstellt einen neuen Zend_Ldap_Node mit dem DN $dn und der Objektklasse $objectClass. |
Zend_Ldap_Node fromLdap(string|array|Zend_Ldap_Dn $dn, Zend_Ldap
$ldap)
|
Factory Methode um einen angehängten Zend_Ldap_Node für einen angegebenen DN zu erstellen. Lädt einen existierenden Zend_Ldap_Node mit dem DN $dn von der LDAP Verbindung $ldap. |
Zend_Ldap_Node fromArray((array $data, boolean
$fromDataSource)
|
Factory Methode um einen abgehängten Zend_Ldap_Node aus den Array Daten $data zu erstellen. Wenn $fromDataSource TRUE ist (der Standardwert ist FALSE), werden die Daten als, in einem LDAP Baum vorhanden, betrachtet. |
boolean isNew() |
Sagt ob der Node als Neu betrachtet wird (nicht auf dem Server vorhanden). Es ist zu beachten dass das nicht sagt ob der Node wirklich auf dem Server vorhanden ist. Man muss Zend_Ldap_Node::exists() verwenden um zu sehen ob der Node dort bereits existiert. |
boolean willBeDeleted() |
Sagt ob dieser Node gelöscht wird sobald Zend_Ldap_Node::update() aufgerufen wird. Tells if this node is going to be deleted once Zend_Ldap_Node::update() is called. |
Zend_Ldap_Node delete() |
Markiert den Node als gelöscht. Nodes werden beim Aufruf von Zend_Ldap_Node::update() gelöscht, wenn Zend_Ldap_Node::willBeDeleted() TRUE ist. |
boolean willBeMoved() |
Sagt ob dieser Node verschoben wird sobald Zend_Ldap_Node::update() aufgerufen wird. |
Zend_Ldap_Node update(Zend_Ldap $ldap) |
Sendet alle wartenden Änderungen an den LDAP Server. Wenn $ldap unterdrückt wird, dann wird die aktuelle LDAP Verbindung verwendet. Wenn der aktuelle Node von einer LDAP Verbindung getrennt ist, wird eine Zend_Ldap_Exception geworfen. Wenn $ldap angegeben wird, dann wird der aktuelle Node an die angegebene LDAP Verbindung angehängt. |
Zend_Ldap_Dn getCurrentDn() |
Gibt den aktuellen DN des aktuellen Nodes als Zend_Ldap_Dn zurück. Das reflektiert mögliche rename-Operationen. |
Zend_Ldap_Dn getDn() |
Gibt den originalen DN des aktuellen Nodes als Zend_Ldap_Dn zurück. Das reflektiert mögliche rename-Operationen. |
string getDnString(string $caseFold) |
Gibt den originalen DN des aktuellen Nodes als String zurück. Das reflektiert mögliche rename-Operationen. |
array getDnArray(string $caseFold) |
Gibt den originalen DN des aktuellen Nodes als Array zurück. Das reflektiert mögliche rename-Operationen. |
string getRdnString(string $caseFold) |
Gibt den RDN des aktuellen Nodes als String zurück. Das reflektiert mögliche rename-Operationen. |
array getRdnArray(string $caseFold) |
Gibt den RDN des aktuellen Nodes als Array zurück. Das reflektiert mögliche rename-Operationen. |
Zend_Ldap_Node setDn(Zend_Ldap_Dn|string|array $newDn)
|
Setzt den neuen DB für diesen Node und verschiebt diesen Node effektiv sobald Zend_Ldap_Node::update() aufgerufen wird. |
Zend_Ldap_Node move(Zend_Ldap_Dn|string|array $newDn)
|
Das ist ein Alias für Zend_Ldap_Node::setDn(). |
Zend_Ldap_Node rename(Zend_Ldap_Dn|string|array $newDn)
|
Das ist ein Alias für Zend_Ldap_Node::setDn(). |
array getObjectClass() |
Gibt objectClass des Nodes zurück. |
Zend_Ldap_Node setObjectClass(array|string $value)
|
Setzt das objectClass Attribut. |
Zend_Ldap_Node appendObjectClass(array|string $value)
|
Stellt dem objectClass Attribut voran. |
string toLdif(array $options) |
Gibt eine LDIF Repräsentation des aktuellen Nodes zurück. $options wird an Zend_Ldap_Ldif_Encoder übergeben. |
array getChangedData() |
Gibt geänderte Node Daten zurück. Das Array enthält alle geänderten Attribute. Dieses format kann in Zend_Ldap::add() und Zend_Ldap::update() verwendet werden. |
array getChanges() |
Gibt alle gemachten Änderungen zurück. |
string toString() |
Gibt den DN des aktuellen Nodes zurück - leitet auf Zend_Ldap_Dn::getDnString() weiter. |
string __toString() |
Castet auf eine String Repräsentation - leitet auf Zend_Ldap_Dn::toString() weiter. |
array toArray(boolean $includeSystemAttributes) |
Gibt eine Array Repräsentation des aktuellen Nodes zurück. Wenn
$includeSystemAttributes FALSE ist
(der Standardwert ist TRUE), werden Systemspezifische
Attribute vom Array entfernt. Anders als
Zend_Ldap_Node::getAttributes() enthält das
resultierende Array den DN mit dem Schlüssel 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Gibt eine JSON Repräsentation des aktuellen Nodes zurück wobei Zend_Ldap_Node::toArray() verwendet wird. |
array getData(boolean $includeSystemAttributes) |
Gibt die Attribute des Nodes zurück. Das Array enthält alle Attribute in Ihrem internen Format (keine Konvertierung). |
boolean existsAttribute(string $name, boolean $emptyExists)
|
Prüft ob ein angegebenes Attribut existiert. Wenn $emptyExists FALSE ist werden leere Attrbute (welche nur array() enthalten) als nicht-existent betrachtet und es wird FALSE zurückgegeben. Wenn $emptyExists TRUE ist werden leere Attribute als existent betrachtet und es wird TRUE zurückgegeben. In diesem Fall gibt die Methode nur dann FALSE zurck wenn der Name des Attributs in der Sammlung der Schlüssel fehlt. |
boolean attributeHasValue(string $name, mixed|array $value)
|
Prüft ob die angegebenen Werte im Attribut existieren. Die Methode gibt nur dann TRUE zurück wenn alle Werte von $value im Attribut vorhanden sind. Der Vergleich wird strikt durchgeführt (er respektiert den Datentyp). |
integer count() |
Gibt die Anzahl der Attribute im Node zurück. Implementiert Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Holt ein LDAP Attribut. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::getAttribute(). |
array getAttributes(boolean $includeSystemAttributes)
|
Holt alle Attribute des Nodes. Wenn $includeSystemAttributes FALSE ist (der Standardwert ist TRUE) dann werden die System spezifischen Attribute vom Array entfernt. |
Zend_Ldap_Node setAttribute(string $name, mixed $value)
|
Setzt ein LDAP Attribut. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::setAttribute(). |
Zend_Ldap_Node appendToAttribute(string $name, mixed $value)
|
Hängt etwas an ein LDAP Attribut an. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::setAttribute(). |
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Holt ein LDAP Date/Time Attribut. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::setDateTimeAttribute(). |
Zend_Ldap_Node setDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
|
Setzt ein LDAP Date/Time Attribut. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::setDateTimeAttribute(). |
Zend_Ldap_Node appendToDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
|
Hängt etwas an ein LDAP Date/Time Attribut an. Die Datenkonvertierung wird angewendet durch Verwendung von Zend_Ldap_Attribute::setDateTimeAttribute(). |
Zend_Ldap_Node setPasswordAttribute(string $password,
string $hashType, string $attribName)
|
Setzt ein LDAP Passwort bei
$attribName (der Standardwert ist
'userPassword') auf $password mit dem
Hashtyp $hashType (der Standardwert ist
Zend_Ldap_Attribute::PASSWORD_HASH_MD5).
|
Zend_Ldap_Node deleteAttribute(string $name) |
Löscht ein LDAP Attribut. |
void removeDuplicatesFromAttribute(string $name) |
Entfernt doppelte Werte von einem LDAP Attribut. |
void removeFromAttribute(string $attribName,
mixed|array $value)
|
Entfernt die angegebenen Werte von einem LDAP Attribut. |
boolean exists(Zend_Ldap $ldap) |
Prüft ob der aktuelle Node im angegebenen LDAP Server existiert (der aktuelle Server wird verwendet wenn NULL übergeben wird). |
Zend_Ldap_Node reload(Zend_Ldap $ldap) |
Lädt die Attribute des aktuellen Nodes nochmalig vom angegebenen LDAP Server (der aktuelle Server wird verwendet wenn NULL übergeben wird). |
Zend_Ldap_Node_Collection
searchSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer
$scope, string $sort)
|
Sucht den Unterbaum des Nodes mit dem angegebenen $filter und den angegebenen Suchparametern ab. Siehe Zend_Ldap::search() für Details über die Parameter $scope und $sort. |
integer countSubtree(string|Zend_Ldap_Filter_Abstract
$filter, integer $scope)
|
Zählt die Elemente des Unterbaums vom Node welche dem angegebenen $filter entsprechen und dem angegebenen Suchbereich. Siehe Zend_Ldap::search() für Details über den $scope Parameter. |
integer countChildren() |
Zählt die Kinder des Nodes. |
Zend_Ldap_Node_Collection
searchChildren(string|Zend_Ldap_Filter_Abstract $filter, string
$sort)
|
Sucht nach Kindern des Nodes die dem angegebenen $filter entsprechen. Siehe Zend_Ldap::search() für Details über den $sort Parameter. |
boolean hasChildren() |
Gibt zurück ob der aktuelle Node Kinder hat. |
Zend_Ldap_Node_ChildrenIterator getChildren() |
Gibt alle Kinder des aktuellen Nodes zurück. |
Zend_Ldap_Node getParent(Zend_Ldap $ldap) |
Gibt den Elternteil des aktuellen Nodes zurück wobei die LDAP Verbindung $ldap verwendet wird (verwendet die aktuelle LDAP Verbindung wenn diese nicht angegeben wird). |
Zend_Ldap_Node_RootDse
Die folgenden Methoden sind in allen Hersteller-Spezifischen Unterklassen vorhanden.
Zend_Ldap_Node_RootDse enthält die magischen Zugriffsmethoden
__get() und __isset() um auf die Attribute
durch Ihren Namen zugreifen zu können. Sie verweisen auf
Zend_Ldap_Node_RootDse::getAttribute() und auf
Zend_Ldap_Node_RootDse::existsAttribute().
__set() und __get() sind auch
implementiert, werfen aber eine BadMethodCallException da Änderungen auf
RootDSE Nodes nicht erlaubt sind. Weiters implementiert die Klasse ArrayAccess
für Array-Artigen Zugriff auf die Attribute. offsetSet() und
offsetUnset() werfen auch eine
BadMethodCallException aus den bekannten Gründen.
| Methode | Beschreibung |
|---|---|
Zend_Ldap_Dn getDn() |
Gibt den DN des aktuellen Nodes als Zend_Ldap_Dn zurück. |
string getDnString(string $caseFold) |
Gibt den DN des aktuellen Nodes als String zurück. |
array getDnArray(string $caseFold) |
Gibt den DN des aktuellen Nodes als Array zurück. |
string getRdnString(string $caseFold) |
Gibt den RDN des aktuellen Nodes als String zurück. |
array getRdnArray(string $caseFold) |
Gibt den RDN des aktuellen Nodes als Array zurück. |
array getObjectClass() |
Gibt die objectClass des Nodes zurück. |
string toString() |
Gibt den DN des aktuellen Nodes zurück - verweist auf Zend_Ldap_Dn::getDnString(). |
string __toString() |
Castet auf eine String Darstellung - verweist auf Zend_Ldap_Dn::toString(). |
array toArray(boolean $includeSystemAttributes) |
Gibt eine Array Darstellung des aktuellen Nodes zurück. Wenn
$includeSystemAttributes FALSE ist
(der Standardwert ist TRUE) werden die System
spezifischen Attribute vom Array entfernt. Anders als
Zend_Ldap_Node_RootDse::getAttributes() enthält
das produzierte Array den DN mit dem Schlüssel 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Gibt eine JSON Darstellung des aktuellen Nodes zurück indem Zend_Ldap_Node_RootDse::toArray() verwendet wird. |
array getData(boolean $includeSystemAttributes) |
Gibt die Attribute der Nodes zurück. Das Array enthält alle Attribute in Ihrem internen Format (keine Konvertierung). |
boolean existsAttribute(string $name, boolean
$emptyExists)
|
Prüft ob ein angegebenes Attribut existiert. Wenn $emptyExists FALSE ist werden leere Attribute (welche nur array() enthalten) als nicht existierend betrachtet und geben FALSE zurück. Wenn $emptyExists TRUE ist werden leere Attribute als existent betrachtet und geben $emptyExists zurück. In diesem Fall gibt die Methode nur dann FALSE zurück wenn der Name des Attributs in der Sammlung der Schlüssel fehlt. |
boolean attributeHasValue(string $name, mixed|array $value)
|
Prüft ob die gegebenen Werte im Attribut existieren. Die Methode gibt nur dann TRUE zurück wenn alle Werte in $value im Attribut vorhanden sind. Der Vergleich wird strikt durchgeführt (und respektiert den Datentyp). |
integer count() |
Gibt die Anzahl der Attribute im Node zurück. Implementiert Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Gibt ein LDAP Attribut zurück. Die Daten Konvertierung wird angewendet indem Zend_Ldap_Attribute::getAttribute() verwendet wird. |
array getAttributes(boolean $includeSystemAttributes)
|
Gibt alle Attribute des Nodes zurück. Wenn $includeSystemAttributes FALSE ist (der Standardwert ist TRUE), werden die System spezifischen Attribute vom Array entfernt. |
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Gibt ein LDAP Datum/Zeit Attribut zurück. Die Datenkonvertierung wird angewendet indem Zend_Ldap_Attribute::getDateTimeAttribute() verwendet wird. |
Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap) |
Lädt die Attribute des aktuellen Nodes nochmalig vom angegebenen LDAP Server. |
Zend_Ldap_Node_RootDse create(Zend_Ldap
$ldap)
|
Eine Factory Methode um den RootDSE zu erstellen. |
array getNamingContexts() |
Holt die namingContexts. |
string|null getSubschemaSubentry() |
Holt den subschemaSubentry. |
boolean supportsVersion(string|int|array $versions)
|
Erkennt ob die LDAP Version unterstützt wird. |
boolean supportsSaslMechanism(string|array $mechlist)
|
Erkennt ob der sasl Mechanismus unterstützt wird. |
integer getServerType() |
Gibt den Server Typ zurück. Retourniert wird
|
| Zend_Ldap_Dn getSchemaDn() | Gibt das DN Schema zurück. |
OpenLDAP
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von Zend_Ldap_Node_RootDse_OpenLdap angewendet werden.
Hinweis: Sehen Sie unter » LDAP Operational Attributes and Objects für Informationen über Attribute von OpenLDAP RootDSE.
| Methode | Beschreibung |
|---|---|
integer getServerType() |
Holt den Servertyp. Gibt Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP zurück. |
string|null getConfigContext() |
Holt den configContext. |
string|null getMonitorContext() |
Holt den monitorContext. |
boolean supportsControl(string|array $oids) |
Erkennt ob control unterstützt wird. |
boolean supportsExtension(string|array $oids) |
Erkennt ob extension unterstützt wird. |
boolean supportsFeature(string|array $oids) |
Erkennt ob feature unterstützt wird. |
ActiveDirectory
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von Zend_Ldap_Node_RootDse_ActiveDirectory angewendet werden.
Hinweis: Sehen Sie unter » RootDSE für Informationen über Attribute von Microsoft ActiveDirectory RootDSE.
| Methode | Beschreibung |
|---|---|
integer getServerType() |
Holt den Server Typ. Gibt Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY zurück. |
string|null getConfigurationNamingContext() |
Holt configurationNamingContext. |
string|null getCurrentTime() |
Holt currentTime. |
string|null getDefaultNamingContext() |
Holt defaultNamingContext. |
string|null getDnsHostName() |
Holt dnsHostName. |
string|null getDomainControllerFunctionality() |
Holt domainControllerFunctionality. |
string|null getDomainFunctionality() |
Holt domainFunctionality. |
string|null getDsServiceName() |
Holt dsServiceName. |
string|null getForestFunctionality() |
Holt forestFunctionality. |
string|null getHighestCommittedUSN() |
Holt highestCommittedUSN. |
string|null getIsGlobalCatalogReady() |
Holt isGlobalCatalogReady. |
string|null getIsSynchronized() |
Holt isSynchronized. |
string|null getLdapServiceName() |
Holt ldapServiceName. |
string|null getRootDomainNamingContext() |
Holt rootDomainNamingContext. |
string|null getSchemaNamingContext() |
Holt schemaNamingContext. |
string|null getServerName() |
Holt serverName. |
boolean supportsCapability(string|array $oids) |
Erkennt ob capability unterstützt wird. |
boolean supportsControl(string|array $oids) |
Erkennt ob control unterstützt wird. |
boolean supportsPolicy(string|array $policies) |
Erkennt ob version unterstützt wird. |
eDirectory
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von
Zend_Ldap_Node_RootDse_eDirectory angewendet werden.
Hinweis: Sehen Sie auf » Getting Information about the LDAP Server für Informationen über Attribute von Novell eDirectory RootDSE.
| Methode | Beschreibung |
|---|---|
integer getServerType() |
Holt den Server Typ. Gibt Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY zurück. |
boolean supportsExtension(string|array $oids) |
Erkennt ob extension unterstützt wird. |
string|null getVendorName() |
Holt vendorName. |
string|null getVendorVersion() |
Holt vendorVersion. |
string|null getDsaName() |
Holt dsaName. |
string|null getStatisticsErrors() |
Holt die Server Statistik "errors". |
string|null getStatisticsSecurityErrors() |
Holt die Server Statistik "securityErrors". |
string|null getStatisticsChainings() |
Holt die Server Statistik "chainings". |
string|null getStatisticsReferralsReturned() |
Holt die Server Statistik "referralsReturned". |
string|null getStatisticsExtendedOps() |
Holt die Server Statistik "extendedOps". |
string|null getStatisticsAbandonOps() |
Holt die Server Statistik "abandonOps". |
string|null getStatisticsWholeSubtreeSearchOps() |
Holt die Server Statistik "wholeSubtreeSearchOps". |
Zend_Ldap_Node_Schema
Die folgenden Methoden sind für alle Hersteller-spezifischen Unterklassen vorhanden.
Zend_Ldap_Node_Schema enthält die magischen Methoden __get() und
__isset() um auf die Attribute durch Ihren Namen zugreifen zu können. Die
verweisen auf Zend_Ldap_Node_Schema::getAttribute() und
Zend_Ldap_Node_Schema::existsAttribute(). __set() und
__unset() sind auch implementiert, werfen aber eine
BadMethodCallException da Änderungen auf RootDSE Nodes nicht erlaubt sind.
Weiters implementiert die Klasse ArrayAccess für Array-Artigen Zugriff und
wirft eine BadMethodCallException aus den bekannten Gründen.
| Methode | Beschreibung |
|---|---|
Zend_Ldap_Dn getDn() |
Holt den DN des aktuellen Nodes als Zend_Ldap_Dn. |
string getDnString(string $caseFold) |
Holt den DN des aktuellen Nodes als String. |
array getDnArray(string $caseFold) |
Holt den DN des aktuellen Nodes als Array. |
string getRdnString(string $caseFold) |
Holt den RDN des aktuellen Nodes als String. |
array getRdnArray(string $caseFold) |
Holt den RDN des aktuellen Nodes als Array. |
array getObjectClass() |
Gibt die objectClass des aktuellen Nodes zurück. |
string toString() |
Gibt den DN des aktuellen Nodes zurück - verweist auf
Zend_Ldap_Dn::getDnString().
|
string __toString() |
Castet auf eine String Darstellung - leitet auf
Zend_Ldap_Dn::toString() weiter.
|
array toArray(boolean $includeSystemAttributes) |
Gibt eine Array Darstellung des aktuellen Nodes zurück. Wenn
$includeSystemAttributes FALSE ist
(Standardmäßig ist es TRUE) werden die System
spezifischen Attribute vom Array entfernt. Anders als
Zend_Ldap_Node_Schema::getAttributes() enthält das
resultierende Array den DN mit dem Schlüssel 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Gibt eine JSON Darstellung des aktuellen Nodes zurück
indem Zend_Ldap_Node_Schema::toArray() verwendet wird.
|
array getData(boolean $includeSystemAttributes) |
Gibt die Attribute des Nodes zurück. Das Array enthält alle Attribute in Ihrem internen Format (keine Konvertierung). |
boolean existsAttribute(string $name, boolean $emptyExists)
|
Prüft ob ein angegebenes Attribut existiert. Wenn $emptyExists
FALSE ist werden leere Attribute (welche nur array()
enthalten) als nicht existierend betrachtet und geben
FALSE zurück. Wenn $emptyExists
TRUE ist werden leere Attribute als existent betrachtet
und geben TRUE zurück. In diesem Fall gibt die Methode
nur dann FALSE zurück wenn der Name des Attributs in
der Sammlung der Schlüssel fehlt.
|
boolean attributeHasValue(string $name, mixed|array $value)
|
Prüft ob angegebene Werte im Attribut existieren. Die Methode gibt nur dann
FALSE zurück wenn alle Werte in $value
auch im Attribut enthalten sind. Der Vergleich wird strikt durchgeführt (er
respektiert den Datentyp).
|
integer count() |
Gibt die Anzahl der Attribute im Node zurück. Implementiert Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Holt ein LDAP Attribut. Datenkonvertierung wird
angewendet indem Zend_Ldap_Attribute::getAttribute() verwendet
wird.
|
array getAttributes(boolean $includeSystemAttributes)
|
Holt alle Attribute des Nodes. Wenn $includeSystemAttributes
FALSE ist (der Standardwert ist
TRUE) werden systemspezifische Attribute vom Array
entfernt.
|
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Holt ein LDAP date/time Attribut. Datenkonvertierung wird
angewendet indem Zend_Ldap_Attribute::getDateTimeAttribute()
verwendet wird.
|
Zend_Ldap_Node_Schema reload(Zend_Ldap $ldap) |
Lädt die Attribute des aktuellen Nodes neu vom angegebenen LDAP Server. |
Zend_Ldap_Node_Schema create(Zend_Ldap
$ldap)
|
Factory Methode um den Schema Node zu erstellen. |
array getAttributeTypes() |
Holt den Typ des Attributs als Array von . |
array getObjectClasses() |
Holt das Klassenobjekt als Array von
Zend_Ldap_Node_Schema_ObjectClass_Interface.
|
| Methode | Beschreibung |
|---|---|
string getName() |
Holt den Namen des Attributs. |
string getOid() |
Holt die OID des Attributs. |
string getSyntax() |
Holt die Syntax des Attributs. |
int|null getMaxLength() |
Holt die maximale Länge des Attributs. |
boolean isSingleValued() |
Gibt zurück ob das Attribut ein einzelner Wert ist. |
string getDescription() |
holt die Beschreibung des Attributs |
| Methode | Beschreibung |
|---|---|
string getName() |
Gibt den Namen von objectClass zurück. |
string getOid() |
Gibt das OID von objectClass zurück. |
array getMustContain() |
Gibt die Attribute zurück welche diese objectClass enthalten muß. |
array getMayContain() |
Gibt die Attribute zurück welche diese objectClass enthalten kann. |
string getDescription() |
Gibt die Beschreibung des Attributs zurück |
integer getType() |
Gibt den Typ von objectClass zurück. Diese Methode gibt einen der folgenden
Werte zurück:
|
array getParentClasses() |
Gibt die elterliche objectClass dieser Klasse zurück. Diese enthalten strukturelle, abstrakte und Hilfsklassen. |
Klassen welche Attributtypen repräsentieren und auch Objektklassen erweitern
Zend_Ldap_Node_Schema_Item welche einige Kernmethoden bietet um auf eigene
Attribute im darunterliegenden LDAP Node zugreifen zu können.
Zend_Ldap_Node_Schema_Item enthält die magischen Methoden
__get() und __isset() um auf die Attribute mit Ihrem Namen
zugreifen zu können. Weiters implementiert die Klasse ArrayAccess für einen
Array-artigen Zugriff auf die Attribute. offsetSet() und
offsetUnset() werfen eine BadMethodCallException da Änderungen
in Schema Informations Nodes nicht erlaubt sind.
| Methode | Beschreibung |
|---|---|
array getData() |
Holt die darunterliegenden Daten vom Schema Informations Node. |
integer count() |
Gibt die Anzahl der Attribute für diesen Schema Informations Node zurück. Implementiert Countable. |
OpenLDAP
Zusätzlich können die üblichen Methoden von oben auf Instanzen von
Zend_Ldap_Node_Schema_OpenLDAP angewendet werden.
| Methode | Beschreibung |
|---|---|
array getLdapSyntaxes() |
Holt die LDAP Syntaxe. |
array getMatchingRules() |
Holt die passenden Regeln. |
array getMatchingRuleUse() |
Holt die verwendete passende Regel. |
| Methode | Beschreibung |
|---|---|
Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
getParent()
|
Gibt den Type des Elternattributs vom geerbten Baum wenn einer existiert. |
| Methode | Beschreibung |
|---|---|
array getParents() |
Gibt die elterlichen Objektklassen im vererbten Baum zurück wenn einer
existiert. Das zurückgegebene Array ist ein Array von
Zend_Ldap_Node_Schema_ObjectClass_OpenLdap.
|
ActiveDirectory
Hinweis: Browsen im Schema von ActiveDirectory Servern
Durch eine Einschränkung in Microsoft ActiveDirectory Servern betreffend der Anzahl an einträgen die bei generellen Such Routinen zurückgegeben werden, und wegen der Struktur des ActiveDirectory Schema Repositories, ist das Schema Browsen aktuell nicht für Microsoft ActiveDirectory Server vorhanden.
Zend_Ldap_Node_Schema_ActiveDirectory bietet keine zusätzlichen Methoden
an.
Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory
bietet keine zusätzlichen Methoden an.
|
Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory
bietet keine zusätzlichen Methoden an.
|
Zend_Ldif_Encoder
| Methode | Beschreibung |
|---|---|
array decode(string $string) |
Dekodiert den String $string in ein Array von LDIF Elementen. |
string encode(scalar|array|Zend_Ldap_Node
$value, array $options)
|
Kodiert $value in eine LDIF
Repräsentation. $options ist ein Array welches die
folgenden Schlüssel enthalten kann:
|
| Einführung |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenz
- Zend_Ldap
- Einführung
- API Übersicht
- Szenarien der Verwendung
- Tools
- Objektorientierter Zugriff auf den LDAP Baum durch Verwendung von Zend_Ldap_Node
- Informationen vom LDAP Server erhalten
- Serialisieren von LDAP Daten von und zu LDIF
