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:
Tabelle 78. Zend_Ldap Optionen
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ährend 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ährend 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 .
|
Anmerkung
Methodennamen in italic sind statische Methoden.
Zend_Ldap
ist das Basisinterface zum LDAP Server.
Es bietet Verbindungs- und Bindungsmethode sowie Methoden um auf dem LDAP
Baum zu arbeiten.
Tabelle 79. Zend_Ldap API
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.
AnmerkungAlle Verschiebe-Operationen werden ausgeführt indem die betreffenden Einträge im LDAP Baum kopiert und anschließend gelöscht werden. Diese Operationen sind nicht atomar so dass Fehler während der Operation zu einem inkonsistenten Status am LDAP Server führen. Das selbe gilt auch für alle rekursiven Operationen. Auch diese sind in keiner Weise atomar. Man sollte das immer beachten. |
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
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.
Tabelle 80. API für Zend_Ldap_Collection
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
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.
integer
undfloat
Der Wert wird zu einem String konvertiert.
boolean
-
TRUE
wird zu 'TRUE
' konvertiert undFALSE
zu 'FALSE
' object
undarray
-
Diese Werte werden zu einem String konvertiert indem
serialize()
verwendet wird. resource
-
Wenn eine
stream
Ressource angegeben wurde, werden die Daten durch den Aufruf vonstream_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.
Tabelle 81. Zend_Ldap_Attribute API
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
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.
Tabelle 82. Zend_Ldap_Dn API
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 array( array("cn" => "name1", "uid" => "user"), array("cn" => "name2"), array("dc" => "example"), array("dc" => "org") )
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
array( array("cn" => "name1", "uid" => "user"), array("cn" => "name2"), array("dc" => "example"), array("dc" => "org") ) |
boolean isChildOf(string|Zend_Ldap_Dn
$childDn, string|Zend_Ldap_Dn $parentDn)
|
Prüft ob der angegebene $childDn unter dem
$parentDn Subbaum ist.
|
Tabelle 83. Zend_Ldap_Filter API
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
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.
Tabelle 84. Zend_Ldap_Node API
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).
|
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.
Tabelle 85. Zend_Ldap_Node_RootDse API
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. |
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von
Zend_Ldap_Node_RootDse_OpenLdap
angewendet werden.
Anmerkung
Sehen Sie unter LDAP Operational Attributes and Objects für Informationen über Attribute von OpenLDAP RootDSE.
Tabelle 86. Zend_Ldap_Node_RootDse_OpenLdap API
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. |
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von
Zend_Ldap_Node_RootDse_ActiveDirectory
angewendet werden.
Anmerkung
Sehen Sie unter RootDSE für Informationen über Attribute von Microsoft ActiveDirectory RootDSE.
Tabelle 87. Zend_Ldap_Node_RootDse_ActiveDirectory API
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. |
Zusätzlich können die üblichen Methoden von oben auch auf Instanzen von
Zend_Ldap_Node_RootDse_eDirectory
angewendet werden.
Anmerkung
Sehen Sie auf Getting Information about the LDAP Server für Informationen über Attribute von Novell eDirectory RootDSE.
Tabelle 88. Zend_Ldap_Node_RootDse_eDirectory API
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". |
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.
Tabelle 89. Zend_Ldap_Node_Schema API
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 .
|
Tabelle 90. Zend_Ldap_Node_Schema_AttributeType_Interface API
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 |
Tabelle 91. Zend_Ldap_Node_Schema_ObjectClass_Interface API
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.
Tabelle 92. Zend_Ldap_Node_Schema_Item API
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. |
Zusätzlich können die üblichen Methoden von oben auf Instanzen von
Zend_Ldap_Node_Schema_OpenLDAP
angewendet werden.
Tabelle 93. Zend_Ldap_Node_Schema_OpenLDAP API
Methode | Beschreibung |
---|---|
array getLdapSyntaxes() |
Holt die LDAP Syntaxe. |
array getMatchingRules() |
Holt die passenden Regeln. |
array getMatchingRuleUse() |
Holt die verwendete passende Regel. |
Tabelle 94. Zend_Ldap_Node_Schema_AttributeType_OpenLDAP API
Methode | Beschreibung |
---|---|
Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
getParent()
|
Gibt den Type des Elternattributs vom geerbten Baum wenn einer existiert. |
Tabelle 95. Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP API
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 .
|
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.
Tabelle 96. Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory API
Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory
bietet keine zusätzlichen Methoden an.
|
Tabelle 97. Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory API
Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory
bietet keine zusätzlichen Methoden an.
|
Tabelle 98. API für 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:
|