# 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:

### 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ä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

Methodennamen in italic sind statische Methoden.