|
|
@@ -1,5 +1,5 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 15846 -->
|
|
|
+<!-- EN-Revision: 15892 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.auth.adapter.ldap">
|
|
|
|
|
|
@@ -11,20 +11,20 @@
|
|
|
|
|
|
<para>
|
|
|
<classname>Zend_Auth_Adapter_Ldap</classname> unterstützt Webanwendungen bei der
|
|
|
- Authentifizierung mit LDAP Services. Die Features beinhalten Kanonisierung von
|
|
|
- Benutzernamen und Domainnamen, Mehrfach-Domain Authentifizierung, und Fehlerbehandlungs
|
|
|
- Features. Es wurde getestet mit <ulink
|
|
|
+ Authentifizierung mit <acronym>LDAP</acronym> Services. Die Features beinhalten
|
|
|
+ Kanonisierung von Benutzernamen und Domainnamen, Mehrfach-Domain Authentifizierung, und
|
|
|
+ Fehlerbehandlungs Features. Es wurde getestet mit <ulink
|
|
|
url="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/">Microsoft
|
|
|
Active Directory</ulink> und <ulink url="http://www.openldap.org/">OpenLDAP</ulink>,
|
|
|
- sollte auch auch mit anderen LDAP Service Provider zusammenarbeiten.
|
|
|
+ sollte auch auch mit anderen <acronym>LDAP</acronym> Service Provider zusammenarbeiten.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
Diese Dokumentation enthält eine Anleitung der Verwendung von
|
|
|
- <classname>Zend_Auth_Adapter_Ldap</classname>, eine Beschreibung der API, eine Ausgabe
|
|
|
- der verschiedenen Optionen, Diagnostische Informationen für die Fehlerbehandlung bei
|
|
|
- Authentifizierungs Problemen, und Beispiel Optionen für beide, Active Directory und
|
|
|
- OpenLDAP Server.
|
|
|
+ <classname>Zend_Auth_Adapter_Ldap</classname>, eine Beschreibung der
|
|
|
+ <acronym>API</acronym>, eine Ausgabe der verschiedenen Optionen, Diagnostische
|
|
|
+ Informationen für die Fehlerbehandlung bei Authentifizierungs Problemen, und Beispiel
|
|
|
+ Optionen für beide, Active Directory und OpenLDAP Server.
|
|
|
</para>
|
|
|
|
|
|
</sect2>
|
|
|
@@ -37,7 +37,9 @@
|
|
|
Um <classname>Zend_Auth_Adapter_Ldap</classname> Authentifizierung in eigene Anwendungen
|
|
|
schnell einzubauen, selbst wenn <classname>Zend_Controller</classname> nicht verwendet
|
|
|
wird, sollte das Fleisch des eigenen Codes in etwa wie folgt aussehen:
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$username = $this->_request->getParam('username');
|
|
|
$password = $this->_request->getParam('password');
|
|
|
|
|
|
@@ -70,6 +72,8 @@ if ($log_path) {
|
|
|
}
|
|
|
}
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
Natürlich ist der Logging Code optional, aber es wird dringend empfohlen einen Logger
|
|
|
zu verwenden. <classname>Zend_Auth_Adapter_Ldap</classname> zeichnet fast jedes
|
|
|
Bisschen an Information in <varname>$messages</varname> auf das irgendwer benötigen
|
|
|
@@ -90,7 +94,9 @@ if ($log_path) {
|
|
|
<classname>Zend_Config_Ini</classname> jeden Wert der mit Gleichheitszeichen
|
|
|
(<emphasis>=</emphasis>) geschrieben wird auch unter Anführungszeichen gesetzt wird
|
|
|
(wie unten bei DNs gezeigt).
|
|
|
- <programlisting language="ini"><![CDATA[
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="ini"><![CDATA[
|
|
|
[production]
|
|
|
|
|
|
ldap.log_path = /tmp/ldap.log
|
|
|
@@ -113,6 +119,8 @@ ldap.server2.accountDomainNameShort = W
|
|
|
ldap.server2.accountCanonicalForm = 3
|
|
|
ldap.server2.baseDn = "CN=Users,DC=w,DC=net"
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
Die obige Konfiguration instruiert <classname>Zend_Auth_Adapter_Ldap</classname> das es
|
|
|
versuchen soll Benutzer zuerst mit dem OpenLDAP Server <filename>s0.foo.net</filename>
|
|
|
authentifizieren soll. Wenn die Authentifizierung auf irgendeinem Grund fehlschlägt,
|
|
|
@@ -147,17 +155,20 @@ ldap.server2.baseDn = "CN=Users,DC=w,DC=net"
|
|
|
oder mehrere Sets von Optionen enthält. Es ist zu beachten das es sich um
|
|
|
<emphasis>Array von Arrays</emphasis> von <link
|
|
|
linkend="zend.ldap"><classname>Zend_Ldap</classname></link> Optionen handelt. Selbst
|
|
|
- wenn nur ein einzelner LDAP Server verwendet wird, müssen die Optionen trotzdem in einem
|
|
|
- anderen Array sein.
|
|
|
+ wenn nur ein einzelner <acronym>LDAP</acronym> Server verwendet wird, müssen die
|
|
|
+ Optionen trotzdem in einem anderen Array sein.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
Anbei ist eine <ulink
|
|
|
url="http://php.net/print_r"><methodname>print_r()</methodname></ulink>
|
|
|
- Ausgabe von beispielhaften Optionsparameters die twei Sets von Serveroptionen für LDAP
|
|
|
- Server enthalten, <filename>s0.foo.net</filename> und <filename>dc1.w.net</filename>
|
|
|
- (die gleichen Optionen wie in der oberen INI Repräsentation):
|
|
|
- <programlisting language="output"><![CDATA[
|
|
|
+ Ausgabe von beispielhaften Optionsparameters die zwei Sets von Serveroptionen für
|
|
|
+ <acronym>LDAP</acronym> Server enthalten, <filename>s0.foo.net</filename> und
|
|
|
+ <filename>dc1.w.net</filename> (die gleichen Optionen wie in der oberen
|
|
|
+ <acronym>INI</acronym> Repräsentation):
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="output"><![CDATA[
|
|
|
Array
|
|
|
(
|
|
|
[server2] => Array
|
|
|
@@ -184,6 +195,8 @@ Array
|
|
|
|
|
|
)
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
Die oben angebotene Information in jedem Set von Optionen ist hauptsächlich deswegen
|
|
|
unterschiedlich weil AD keinen Benutzernamen wärend des Bindesn in der DN Form benötigt
|
|
|
(siehe die <emphasis>bindRequiresDn</emphasis> Option des
|
|
|
@@ -196,13 +209,13 @@ Array
|
|
|
<title>Was ist ein ausgezeichneter Name?</title>
|
|
|
<para>
|
|
|
Ein DN oder "distinguished name" ist ein String der den Pfad zu einem Objekt im
|
|
|
- LDAP Verzeichnis repräsentiert. Jede komma-seperierte Komponente ist ein Attribut
|
|
|
- und Wert der einen Node repräsentiert. Die Komponenten werden rückwirkend
|
|
|
- evaluiert. Zum Beispiel ist der Benutzeraccount
|
|
|
+ <acronym>LDAP</acronym> Verzeichnis repräsentiert. Jede komma-seperierte Komponente
|
|
|
+ ist ein Attribut und Wert der einen Node repräsentiert. Die Komponenten werden
|
|
|
+ rückwirkend evaluiert. Zum Beispiel ist der Benutzeraccount
|
|
|
<emphasis>CN=Bob Carter,CN=Users,DC=w,DC=net</emphasis> direkt in
|
|
|
<emphasis>CN=Users,DC=w,DC=net container</emphasis> enthalten. Diese Struktur wird
|
|
|
- am besten mit einem LDAP Browser wie das ADSI Edit MMC snap-in für Active Directory
|
|
|
- oder phpLDAPadmin erkundet.
|
|
|
+ am besten mit einem <acronym>LDAP</acronym> Browser wie das <acronym>ADSI</acronym>
|
|
|
+ Edit <acronym>MMC</acronym> snap-in für Active Directory oder phpLDAPadmin erkundet.
|
|
|
</para>
|
|
|
</note>
|
|
|
|
|
|
@@ -211,8 +224,9 @@ Array
|
|
|
beliebig, aber aus Gründen der Verwendung von <classname>Zend_Config</classname>
|
|
|
sollten die Identifikatoren (im Gegensatz dazu das Sie nummerische Indezes sind)
|
|
|
vorhanden sein, und sollten keine spezielle Zeichen enthalten die vom assoziierten
|
|
|
- Dateiformat verwendet werden (z.B. der '<emphasis>.</emphasis>' INI Eigenschafts
|
|
|
- Separator, '<emphasis>&</emphasis>' für XML Entity Referenzen, usw.).
|
|
|
+ Dateiformat verwendet werden (z.B. der '<emphasis>.</emphasis>' <acronym>INI</acronym>
|
|
|
+ Eigenschafts Separator, '<emphasis>&</emphasis>' für <acronym>XML</acronym> Entity
|
|
|
+ Referenzen, usw.).
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -227,12 +241,12 @@ Array
|
|
|
Wenn die <methodname>authenticate()</methodname> Methode aufgerufen wird, iteriert
|
|
|
der Adapter über jedes Set von Serveroptione, setzt diese auf der internen
|
|
|
<classname>Zend_Ldap</classname> Instanz und ruft die
|
|
|
- <classname>Zend_Ldap::bind()</classname> Methode, mit dem Benutzernamen und
|
|
|
+ <methodname>Zend_Ldap::bind()</methodname> Methode, mit dem Benutzernamen und
|
|
|
Passwort das authentifiziert werden soll, auf. Die <classname>Zend_Ldap</classname>
|
|
|
Klasse prüft um zu sehen ob der Benutzer mit einer Domain qualifiziert ist (hat
|
|
|
- z.B. eine Domainkomponente wie <emphasis>alice@foo.net</emphasis> oder
|
|
|
- <emphasis>FOO\alice</emphasis>). Wenn eine Domain vorhanden ist, aber mit keiner
|
|
|
- der Domainnamen der Server (<emphasis>foo.net</emphasis> oder
|
|
|
+ z.B. eine Domainkomponente wie <filename>alice@foo.net</filename> oder
|
|
|
+ <filename>FOO\alice</filename>). Wenn eine Domain vorhanden ist, aber mit keiner
|
|
|
+ der Domainnamen der Server (<filename>foo.net</filename> oder
|
|
|
<emphasis>FOO</emphasis>) übereinstimmt, wird eine spezielle Ausnahme geworfen und
|
|
|
durch <classname>Zend_Auth_Adapter_Ldap</classname> gefangen, was bewirkt das der
|
|
|
Server ignoriert wird und der nächste, in den Serveroptionen gesetzte Server,
|
|
|
@@ -254,9 +268,10 @@ Array
|
|
|
<para>
|
|
|
Die username und password Parameter des <classname>Zend_Auth_Adapter_Ldap</classname>
|
|
|
Konstruktors repräsentieren die Zugangsdaten die authentifiziert werden sollen (z.B.
|
|
|
- die Zugangsdaten die durch den Benutzer über eine HTML Login Form angegeben werden).
|
|
|
- Alternativ können Sie auch mit den <methodname>setUsername()</methodname> und
|
|
|
- <methodname>setPassword()</methodname> Methoden gesetzt werden.
|
|
|
+ die Zugangsdaten die durch den Benutzer über eine <acronym>HTML</acronym> Login Form
|
|
|
+ angegeben werden). Alternativ können Sie auch mit den
|
|
|
+ <methodname>setUsername()</methodname> und <methodname>setPassword()</methodname>
|
|
|
+ Methoden gesetzt werden.
|
|
|
</para>
|
|
|
|
|
|
</sect2>
|
|
|
@@ -268,231 +283,238 @@ Array
|
|
|
<para>
|
|
|
Jedes Set von Serveroptionen <emphasis>im Kontext von
|
|
|
<classname>Zend_Auth_Adapter_Ldap</classname></emphasis> besteht aus den folgenden
|
|
|
- Optionen welche, großteils ungeändert, an <classname>Zend_Ldap::setOptions()</classname>
|
|
|
- übergeben werden:
|
|
|
+ Optionen welche, großteils ungeändert, an
|
|
|
+ <methodname>Zend_Ldap::setOptions()</methodname> übergeben werden:
|
|
|
+ </para>
|
|
|
|
|
|
- <table id="zend.auth.adapter.ldap.server-options.table">
|
|
|
- <title>Server Optionen</title>
|
|
|
- <tgroup cols="2">
|
|
|
+ <table id="zend.auth.adapter.ldap.server-options.table">
|
|
|
+ <title>Server Optionen</title>
|
|
|
+ <tgroup cols="2">
|
|
|
<thead>
|
|
|
- <row>
|
|
|
- <entry>Name</entry>
|
|
|
- <entry>Beschreibung</entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry>Name</entry>
|
|
|
+ <entry>Beschreibung</entry>
|
|
|
+ </row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>host</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der Hostname des LDAP Servers der diese Optionen repräsentiert. Diese
|
|
|
- Option wird benötigt.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>port</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der Port auf den der LDAP Server schaut. Wenn
|
|
|
- <emphasis>useSsl</emphasis> <constant>TRUE</constant> ist, ist der
|
|
|
- Standardwert von <emphasis>port</emphasis> 636. Wenn
|
|
|
- <emphasis>useSsl</emphasis> <constant>FALSE</constant> ist, ist der
|
|
|
- Standardwert von <emphasis>port</emphasis> 389.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry>useStartTls</entry>
|
|
|
- <entry>
|
|
|
- Ob der LDAP Client einen TSL (aka SSLv2) verschlüsselten Transport
|
|
|
- verwenden soll oder nicht. Der Wert <constant>TRUE</constant> wird in
|
|
|
- einer Produktionsumgebung strengstens empfohlen um zu verhindern das
|
|
|
- Passwörter im Klartext übertragen werden. Der Standardwert ist
|
|
|
- <constant>FALSE</constant>, da Server typischerweise nach deren
|
|
|
- Installation erwarten das ein Zertifikat installiert wird. Die
|
|
|
- <emphasis>useSsl</emphasis> und <emphasis>useStartTls</emphasis> Optionen
|
|
|
- schließen sich gegenseitig aus. Die <emphasis>useStartTls</emphasis> Option
|
|
|
- sollte über <emphasis>useSsl</emphasis> favorisiert werden, aber nicht alle
|
|
|
- Server unterstützen diesen neueren Mechanismus.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry>useSsl</entry>
|
|
|
- <entry>
|
|
|
- Ob der LDAP Client einen SSL verschlüsselten Transport verwenden soll. Die
|
|
|
- <emphasis>useSsl</emphasis> und <emphasis>useStartTls</emphasis> Optionen
|
|
|
- schließen sich gegenseitig aus, aber <emphasis>useStartTls</emphasis>
|
|
|
- sollte favorisiert werden wenn der Server und die LDAP Bibliothek des
|
|
|
- Clients diese unterstützen. Dieser Wert ändert auch den Standardwert von
|
|
|
- <emphasis>port</emphasis> (siehe die <emphasis>port</emphasis> Beschreibung
|
|
|
- weiter oben).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>username</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der DN des Accounts der verwendet wird um DN Account Loopups durchzuführen.
|
|
|
- LDAP Server die den Benutzernamen in in DN Form benötigenwenn "bind"
|
|
|
- durchgeführt wird, benötigen diese Option. Wenn
|
|
|
- <emphasis>bindRequiresDn</emphasis> <constant>TRUE</constant> ist,
|
|
|
- wird diese Option benötigt. Dieser Account muß kein privilegierter Account
|
|
|
- sein - ein Account mit nur-lese Zugriff zu Objekten unter
|
|
|
- <emphasis>baseDn</emphasis> ist alles was notwendig ist
|
|
|
- (und bevorzugt unter dem <emphasis>Prinzip des geringsten
|
|
|
- Privilegs</emphasis>).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>password</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Das Passwort des Accounts der verwendet wird um DN Lookups durchzuführen.
|
|
|
- Wenn diese Option nicht unterstützt wird, versucht der LDAP Client einen
|
|
|
- "anonymen bind" wenn DN Lookups durchgeführt werden.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>bindRequiresDn</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Einige LDAP Server benötigen den zum Binden verwendeten Benutzernamen in
|
|
|
- der DN Form wie <emphasis>CN=Alice Baker,OU=Sales,DC=foo,DC=net</emphasis>
|
|
|
- (grundsätzlich alle Server <emphasis>außer</emphasis> AD). Wenn diese
|
|
|
- Option <constant>TRUE</constant> ist, instuiert dies
|
|
|
- <classname>Zend_Ldap</classname> das der DN automatisch empfangen wird,
|
|
|
- abhängig vom Benutzernamen der authentifiziert wird, wenn er nicht bereits
|
|
|
- in DN Form ist, und diesen dann wieder mit der richtigen DN zu binden. Der
|
|
|
- Standardwert ist <constant>FALSE</constant>. Aktuell ist nur von Microsoft
|
|
|
- Active Directory Server (ADS) bekannt das es den Benutzernamen
|
|
|
- <emphasis>nicht</emphasis> in der DN Form benötigt wenn gebunden wird, und
|
|
|
- deswegen kann diese Option mit AD auch <constant>FALSE</constant> sein (und
|
|
|
- sollte das auch, da das Empfangen des DN eine extra Anfrage zum Server
|
|
|
- benötigt). Andernfalls muß diese Option auf <constant>TRUE</constant>
|
|
|
- gesetzt werden (z.B. für OpenLDAP). Diese Option kontrolliert das Standard
|
|
|
- <emphasis>acountFilterFormat</emphasis> das verwendet wird
|
|
|
- wenn nach Accounts gesucht wird. Siehe auch die
|
|
|
- <emphasis>accountFilterFormat</emphasis> Option.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>baseDn</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der Ort vom DN unter dem alle Accounts die authentifiziert werden. Diese
|
|
|
- Option wird benötigt. Wenn man sich unsicher über den richtigen
|
|
|
- <emphasis>baseDn</emphasis> ist, sollte es genug sein Ihn von
|
|
|
- der DNS Domain des Benutzers der die <emphasis>DC=</emphasis> Komponenten
|
|
|
- verwedet abzuleiten. Wenn der Hauptname eines Benutzers
|
|
|
- <emphasis>alice@foo.net</emphasis> ist, sollte ein
|
|
|
- <emphasis>baseDn</emphasis> von
|
|
|
- <emphasis>DC=foo,DC=net</emphasis> funktionieren. Eine präzisere Ortsangabe
|
|
|
- (z.B. <emphasis>OU=Sales,DC=foo,DC=net</emphasis>) ist trotzdem
|
|
|
- effizienter.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Ein Wert von 2, 3 oder 4 zeigt die Form zu der Account Namen authorisiert
|
|
|
- werden sollten nachdem die Authentifizierung erfolgreich war. Die Werte
|
|
|
- sind wie folgt: 2 für traditionelle Benutzernamen-Stil Namen
|
|
|
- (z.B., <emphasis>alice</emphasis>), 3 für Schrägstrich-Stil Namen (z.B.,
|
|
|
- <emphasis>FOO\alice</emphasis>) oder 4 für Authentifiziert-Sil Namen (z.B.,
|
|
|
- <emphasis>alice@foo.net</emphasis>). Der Standardwert ist 4 (z.B.,
|
|
|
- <emphasis>alice@foo.net</emphasis>). Mit einem Wert von 3, z.B., wird die
|
|
|
- Identität die von <classname>Zend_Auth_Result::getIdentity()</classname>
|
|
|
- zurückgegeben wird (und <classname>Zend_Auth::getIdentity()</classname>,
|
|
|
- wenn <classname>Zend_Auth</classname> verwendet wird), immer
|
|
|
- <emphasis>FOO\alice</emphasis> sein, unabhängig von der Form in der Alice
|
|
|
- angegeben wurde, egal ob es <emphasis>alice</emphasis>,
|
|
|
- <emphasis>alice@foo.net</emphasis>, <emphasis>FOO\alice</emphasis>,
|
|
|
- <emphasis>FoO\aLicE</emphasis>, <emphasis>foo.net\alice</emphasis>, etc.
|
|
|
- Siehe das Kapitel <emphasis>Kanonisierung von Account Namen</emphasis>
|
|
|
- in der <classname>Zend_Ldap</classname> Dokumentation für Details. Bei der
|
|
|
- Verwendung von mehreren Sets von Serveroptionen ist es empfehlenswert,
|
|
|
- aber nicht notwendig, das die selbe
|
|
|
- <emphasis>accountCanonicalForm</emphasis> in allen
|
|
|
- Serveroptionen verwendet wird, sodas die sich ergebenden Benutzernamen
|
|
|
- immer auf die selbe Art und Weise kanonisiert werden (z.b. wenn man auf
|
|
|
- <emphasis>EXAMPLE\username</emphasis> mit einem AD Server kanonisiert, aber
|
|
|
- zu <emphasis>username@example.com</emphasis> mit einem OpenLDAP Server,
|
|
|
- kann das quirks für die High-Level Logik einer Anwendung sein).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der FDQN Domainname für welchen der Ziel LDAP Server eine Authorität ist
|
|
|
- (z.B., <filename>example.com</filename>). Diese Option wird verwendet um
|
|
|
- Namen zu kanonisieren sodas der Benutzername der vom Benutzer angeboten
|
|
|
- wird, wie es für das Binden notwendig ist, konvertiert werden kann. Er wird
|
|
|
- auch verwendet um festzustellen ob der Server eine Authorität für den
|
|
|
- angegebenen Benutzernamen ist (z.B., wenn
|
|
|
- <emphasis>accountDomainName</emphasis>
|
|
|
- <emphasis>foo.net</emphasis> ist und der angegebene Benutzer
|
|
|
- <emphasis>bob@bar.net</emphasis>, wird der Server nicht abgefragt, und das
|
|
|
- Ergebnis wird ein Fehler sein). Diese Option wird nicht benötigt, aber wenn
|
|
|
- Sie nicht angegeben wird, dann werden Benutzernamen in prinzipieller
|
|
|
- Namensform (z.B., <emphasis>alice@foo.net</emphasis>) nicht unterstützt. Es
|
|
|
- wird stark empfohlen das diese Option angegeben wird, da es viele
|
|
|
- Anwendungsfälle gibt die die Erstellung von prinzipieller Namensform
|
|
|
- benötigen.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Die 'short' Domain für die der Ziel LDAP Server eine Authorität ist (z.B.,
|
|
|
- <emphasis>FOO</emphasis>). Es ist z ubeachten das es ein 1:1 Mapping
|
|
|
- zwischen <emphasis>accountDomainName</emphasis> und
|
|
|
- <emphasis>accountDomainNameShort</emphasis> existiert. Diese
|
|
|
- Option sollte verwendet werden um den NetBIOS Domainnamen für Windows
|
|
|
- Netzwerke zu spezifizieren, kann aber auch von nicht-AD Servern verwendet
|
|
|
- werden (z.B., für Konsistenz bei mehreren Sets von Serveroptionen bei dem
|
|
|
- Schrägstrich Stil <emphasis>accountCanonicalForm</emphasis>).
|
|
|
- Diese Option wird nicht benötigt, aber wenn Sie nicht angegeben wird,
|
|
|
- werden Benutzernamen im Schrägstrich Stil (z.B.
|
|
|
- <emphasis>FOO\alice</emphasis>) nicht unterstützt.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountFilterFormat</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der LDAP Suchfilter der für die Suche nach Accounts verwendet wird. Dieser
|
|
|
- String ist ein <ulink
|
|
|
- url="http://php.net/printf"><methodname>printf()</methodname></ulink>-Stil
|
|
|
- Ausdruck der ein '<emphasis>%s</emphasis>' enthalten muß um den
|
|
|
- Benutzernamen unterzubringen. Der Standardwert ist
|
|
|
- '<emphasis>(&(objectClass=user)(sAMAccountName=%s))</emphasis>',
|
|
|
- ausgenommen <emphasis>bindRequiresDn</emphasis> wird auf
|
|
|
- <constant>TRUE</constant> gesetzt. In diesem Fall ist der Standardwert
|
|
|
- '<emphasis>(&(objectClass=posixAccount)(uid=%s))</emphasis>'. Wenn, zum
|
|
|
- Beispiel, aus irgendeinem Grund <emphasis>bindRequiresDn = true</emphasis>
|
|
|
- mit AD verwendet werden soll, muß <emphasis>accountFilterFormat =
|
|
|
- '(&(objectClass=user)(sAMAccountName=%s))</emphasis>' gesetzt
|
|
|
- werden.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>optReferrals</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wenn sie auf <constant>TRUE</constant> gesetzt wird, zeigt diese Option dem LDAP
|
|
|
- Client an, das Referenzen gefolgt werden soll. Der Standardwert ist
|
|
|
- <constant>FALSE</constant>.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>host</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der Hostname des LDAP Servers der diese Optionen repräsentiert. Diese
|
|
|
+ Option wird benötigt.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>port</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der Port auf den der LDAP Server schaut. Wenn
|
|
|
+ <emphasis>useSsl</emphasis> <constant>TRUE</constant> ist, ist der
|
|
|
+ Standardwert von <emphasis>port</emphasis> 636. Wenn
|
|
|
+ <emphasis>useSsl</emphasis> <constant>FALSE</constant> ist, ist der
|
|
|
+ Standardwert von <emphasis>port</emphasis> 389.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>useStartTls</entry>
|
|
|
+ <entry>
|
|
|
+ Ob der LDAP Client einen TSL (aka SSLv2) verschlüsselten Transport
|
|
|
+ verwenden soll oder nicht. Der Wert <constant>TRUE</constant> wird in
|
|
|
+ einer Produktionsumgebung strengstens empfohlen um zu verhindern das
|
|
|
+ Passwörter im Klartext übertragen werden. Der Standardwert ist
|
|
|
+ <constant>FALSE</constant>, da Server typischerweise nach deren
|
|
|
+ Installation erwarten das ein Zertifikat installiert wird. Die
|
|
|
+ <emphasis>useSsl</emphasis> und <emphasis>useStartTls</emphasis>
|
|
|
+ Optionen schließen sich gegenseitig aus. Die
|
|
|
+ <emphasis>useStartTls</emphasis> Option sollte über
|
|
|
+ <emphasis>useSsl</emphasis> favorisiert werden, aber nicht alle Server
|
|
|
+ unterstützen diesen neueren Mechanismus.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>useSsl</entry>
|
|
|
+ <entry>
|
|
|
+ Ob der LDAP Client einen SSL verschlüsselten Transport verwenden soll.
|
|
|
+ Die <emphasis>useSsl</emphasis> und <emphasis>useStartTls</emphasis>
|
|
|
+ Optionen schließen sich gegenseitig aus, aber
|
|
|
+ <emphasis>useStartTls</emphasis> sollte favorisiert werden wenn der
|
|
|
+ Server und die LDAP Bibliothek des Clients diese unterstützen. Dieser
|
|
|
+ Wert ändert auch den Standardwert von <emphasis>port</emphasis> (siehe
|
|
|
+ die <emphasis>port</emphasis> Beschreibung weiter oben).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>username</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der DN des Accounts der verwendet wird um DN Account Loopups
|
|
|
+ durchzuführen. LDAP Server die den Benutzernamen in in DN Form benötigen
|
|
|
+ wenn "bind" durchgeführt wird, benötigen diese Option. Wenn
|
|
|
+ <emphasis>bindRequiresDn</emphasis> <constant>TRUE</constant> ist,
|
|
|
+ wird diese Option benötigt. Dieser Account muß kein privilegierter
|
|
|
+ Account sein - ein Account mit nur-lese Zugriff zu Objekten unter
|
|
|
+ <emphasis>baseDn</emphasis> ist alles was notwendig ist
|
|
|
+ (und bevorzugt unter dem <emphasis>Prinzip des geringsten
|
|
|
+ Privilegs</emphasis>).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>password</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Das Passwort des Accounts der verwendet wird um DN Lookups
|
|
|
+ durchzuführen. Wenn diese Option nicht unterstützt wird, versucht der
|
|
|
+ LDAP Client einen "anonymen bind" wenn DN Lookups durchgeführt werden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>bindRequiresDn</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Einige LDAP Server benötigen den zum Binden verwendeten Benutzernamen in
|
|
|
+ der DN Form wie
|
|
|
+ <emphasis>CN=Alice Baker,OU=Sales,DC=foo,DC=net</emphasis>
|
|
|
+ (grundsätzlich alle Server <emphasis>außer</emphasis> AD). Wenn diese
|
|
|
+ Option <constant>TRUE</constant> ist, instuiert dies
|
|
|
+ <classname>Zend_Ldap</classname> das der DN automatisch empfangen wird,
|
|
|
+ abhängig vom Benutzernamen der authentifiziert wird, wenn er nicht
|
|
|
+ bereits in DN Form ist, und diesen dann wieder mit der richtigen DN zu
|
|
|
+ binden. Der Standardwert ist <constant>FALSE</constant>. Aktuell ist nur
|
|
|
+ von Microsoft Active Directory Server (ADS) bekannt das es den
|
|
|
+ Benutzernamen <emphasis>nicht</emphasis> in der DN Form benötigt wenn
|
|
|
+ gebunden wird, und deswegen kann diese Option mit AD auch
|
|
|
+ <constant>FALSE</constant> sein (und sollte das auch, da das Empfangen
|
|
|
+ des DN eine extra Anfrage zum Server benötigt). Andernfalls muß diese
|
|
|
+ Option auf <constant>TRUE</constant> gesetzt werden (z.B. für OpenLDAP).
|
|
|
+ Diese Option kontrolliert das Standard
|
|
|
+ <emphasis>acountFilterFormat</emphasis> das verwendet wird wenn nach
|
|
|
+ Accounts gesucht wird. Siehe auch die
|
|
|
+ <emphasis>accountFilterFormat</emphasis> Option.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>baseDn</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der Ort vom DN unter dem alle Accounts die authentifiziert werden. Diese
|
|
|
+ Option wird benötigt. Wenn man sich unsicher über den richtigen
|
|
|
+ <emphasis>baseDn</emphasis> ist, sollte es genug sein Ihn von
|
|
|
+ der DNS Domain des Benutzers der die <emphasis>DC=</emphasis>
|
|
|
+ Komponenten verwedet abzuleiten. Wenn der Hauptname eines Benutzers
|
|
|
+ <emphasis>alice@foo.net</emphasis> ist, sollte ein
|
|
|
+ <emphasis>baseDn</emphasis> von <emphasis>DC=foo,DC=net</emphasis>
|
|
|
+ funktionieren. Eine präzisere Ortsangabe
|
|
|
+ (z.B. <emphasis>OU=Sales,DC=foo,DC=net</emphasis>) ist trotzdem
|
|
|
+ effizienter.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Ein Wert von 2, 3 oder 4 zeigt die Form zu der Account Namen
|
|
|
+ authorisiert werden sollten nachdem die Authentifizierung erfolgreich
|
|
|
+ war. Die Werte sind wie folgt: 2 für traditionelle Benutzernamen-Stil
|
|
|
+ Namen (z.B., <emphasis>alice</emphasis>), 3 für Schrägstrich-Stil Namen
|
|
|
+ (z.B., <emphasis>FOO\alice</emphasis>) oder 4 für Authentifiziert-Sil
|
|
|
+ Namen (z.B., <emphasis>alice@foo.net</emphasis>). Der Standardwert ist 4
|
|
|
+ (z.B., <emphasis>alice@foo.net</emphasis>). Mit einem Wert von 3, z.B.,
|
|
|
+ wird die Identität die von
|
|
|
+ <classname>Zend_Auth_Result::getIdentity()</classname> zurückgegeben
|
|
|
+ wird (und <classname>Zend_Auth::getIdentity()</classname>, wenn
|
|
|
+ <classname>Zend_Auth</classname> verwendet wird), immer
|
|
|
+ <emphasis>FOO\alice</emphasis> sein, unabhängig von der Form in der
|
|
|
+ Alice angegeben wurde, egal ob es <emphasis>alice</emphasis>,
|
|
|
+ <emphasis>alice@foo.net</emphasis>, <emphasis>FOO\alice</emphasis>,
|
|
|
+ <emphasis>FoO\aLicE</emphasis>, <emphasis>foo.net\alice</emphasis>, etc.
|
|
|
+ Siehe das Kapitel <emphasis>Kanonisierung von Account Namen</emphasis>
|
|
|
+ in der <classname>Zend_Ldap</classname> Dokumentation für Details. Bei
|
|
|
+ der Verwendung von mehreren Sets von Serveroptionen ist es
|
|
|
+ empfehlenswert, aber nicht notwendig, das die selbe
|
|
|
+ <emphasis>accountCanonicalForm</emphasis> in allen
|
|
|
+ Serveroptionen verwendet wird, sodas die sich ergebenden Benutzernamen
|
|
|
+ immer auf die selbe Art und Weise kanonisiert werden (z.b. wenn man auf
|
|
|
+ <emphasis>EXAMPLE\username</emphasis> mit einem AD Server kanonisiert,
|
|
|
+ aber zu <emphasis>username@example.com</emphasis> mit einem OpenLDAP
|
|
|
+ Server, kann das quirks für die High-Level Logik einer Anwendung sein).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der FDQN Domainname für welchen der Ziel LDAP Server eine Authorität ist
|
|
|
+ (z.B., <filename>example.com</filename>). Diese Option wird verwendet um
|
|
|
+ Namen zu kanonisieren sodas der Benutzername der vom Benutzer angeboten
|
|
|
+ wird, wie es für das Binden notwendig ist, konvertiert werden kann. Er
|
|
|
+ wird auch verwendet um festzustellen ob der Server eine Authorität für
|
|
|
+ den angegebenen Benutzernamen ist (z.B., wenn
|
|
|
+ <emphasis>accountDomainName</emphasis>
|
|
|
+ <emphasis>foo.net</emphasis> ist und der angegebene Benutzer
|
|
|
+ <emphasis>bob@bar.net</emphasis>, wird der Server nicht abgefragt, und
|
|
|
+ das Ergebnis wird ein Fehler sein). Diese Option wird nicht benötigt,
|
|
|
+ aber wenn Sie nicht angegeben wird, dann werden Benutzernamen in
|
|
|
+ prinzipieller Namensform (z.B., <emphasis>alice@foo.net</emphasis>)
|
|
|
+ nicht unterstützt. Es wird stark empfohlen das diese Option angegeben
|
|
|
+ wird, da es viele Anwendungsfälle gibt die die Erstellung von
|
|
|
+ prinzipieller Namensform benötigen.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Die 'short' Domain für die der Ziel LDAP Server eine Authorität ist
|
|
|
+ (z.B., <emphasis>FOO</emphasis>). Es ist z ubeachten das es ein 1:1
|
|
|
+ Mapping zwischen <emphasis>accountDomainName</emphasis> und
|
|
|
+ <emphasis>accountDomainNameShort</emphasis> existiert. Diese
|
|
|
+ Option sollte verwendet werden um den NetBIOS Domainnamen für Windows
|
|
|
+ Netzwerke zu spezifizieren, kann aber auch von nicht-AD Servern
|
|
|
+ verwendet werden (z.B., für Konsistenz bei mehreren Sets von
|
|
|
+ Serveroptionen bei dem Schrägstrich Stil
|
|
|
+ <emphasis>accountCanonicalForm</emphasis>). Diese Option wird nicht
|
|
|
+ benötigt, aber wenn Sie nicht angegeben wird, werden Benutzernamen im
|
|
|
+ Schrägstrich Stil (z.B. <emphasis>FOO\alice</emphasis>) nicht
|
|
|
+ unterstützt.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountFilterFormat</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der LDAP Suchfilter der für die Suche nach Accounts verwendet wird.
|
|
|
+ Dieser String ist ein <ulink
|
|
|
+ url="http://php.net/printf"><methodname>printf()</methodname></ulink>-Stil
|
|
|
+ Ausdruck der ein '<emphasis>%s</emphasis>' enthalten muß um den
|
|
|
+ Benutzernamen unterzubringen. Der Standardwert ist
|
|
|
+ '<emphasis>(&(objectClass=user)(sAMAccountName=%s))</emphasis>',
|
|
|
+ ausgenommen <emphasis>bindRequiresDn</emphasis> wird auf
|
|
|
+ <constant>TRUE</constant> gesetzt. In diesem Fall ist der Standardwert
|
|
|
+ '<emphasis>(&(objectClass=posixAccount)(uid=%s))</emphasis>'. Wenn,
|
|
|
+ zum Beispiel, aus irgendeinem Grund
|
|
|
+ <emphasis>bindRequiresDn = true</emphasis> mit AD verwendet werden soll,
|
|
|
+ muß <emphasis>accountFilterFormat =
|
|
|
+ '(&(objectClass=user)(sAMAccountName=%s))</emphasis>' gesetzt
|
|
|
+ werden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>optReferrals</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wenn sie auf <constant>TRUE</constant> gesetzt wird, zeigt diese Option
|
|
|
+ dem LDAP Client an, das Referenzen gefolgt werden soll. Der Standardwert
|
|
|
+ ist <constant>FALSE</constant>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
</tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
- </para>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
Wenn <emphasis>useStartTls = true</emphasis> oder
|
|
|
- <emphasis>useSsl = true</emphasis> aktiviert ist, erzeugt der LDAP Client einen
|
|
|
- Fehler der aussagt das er das Zertifikat des Servers nicht überprüfen kann.
|
|
|
- Angenommen die PHP LDAP Erweiterung ist ultimativ verlinkt mit der OpenLDAP Client
|
|
|
+ <emphasis>useSsl = true</emphasis> aktiviert ist, erzeugt der
|
|
|
+ <acronym>LDAP</acronym> Client einen Fehler der aussagt das er das Zertifikat des
|
|
|
+ Servers nicht überprüfen kann. Angenommen die <acronym>PHP</acronym>
|
|
|
+ <acronym>LDAP</acronym> Erweiterung ist ultimativ verlinkt mit der OpenLDAP Client
|
|
|
Bibliothek, muß man um dieses Problem zu lösen
|
|
|
"<emphasis>TLS_REQCERT niemals</emphasis>" im OpenLDAP Client
|
|
|
<filename>ldap.conf</filename> setzen (und den Web Server restarten) um der
|
|
|
OpenLDAP Client Bibliothek anzuzeigen das man dem Server vertraut. Alternativ,
|
|
|
wenn man annimmt das der Server gehackt werden könnte kann das Basiszertifikat des
|
|
|
- LDAP Servers exportiert und auf den Webserver gegeben werdensodas der OpenLDAP
|
|
|
- Client die Identität des Servers prüfen kann.
|
|
|
+ <acronym>LDAP</acronym> Servers exportiert und auf den Webserver gegeben werden so
|
|
|
+ dass der OpenLDAP Client die Identität des Servers prüfen kann.
|
|
|
</para>
|
|
|
</note>
|
|
|
|
|
|
@@ -506,46 +528,48 @@ Array
|
|
|
<classname>Zend_Auth_Adapter_Ldap</classname> sammelt Debug Informationen in seiner
|
|
|
<methodname>authenticate()</methodname> Methode. Diese Information wird im
|
|
|
<classname>Zend_Auth_Result</classname> Objekt als Nachrichten gespeichert. Das von
|
|
|
- <classname>Zend_Auth_Result::getMessages()</classname> zurückgegebene Array kann wie
|
|
|
+ <methodname>Zend_Auth_Result::getMessages()</methodname> zurückgegebene Array kann wie
|
|
|
folgt beschrieben werden:
|
|
|
+ </para>
|
|
|
|
|
|
- <table id="zend.auth.adapter.ldap.debugging.table">
|
|
|
- <title>Debug Nachrichten</title>
|
|
|
- <tgroup cols="2">
|
|
|
+ <table id="zend.auth.adapter.ldap.debugging.table">
|
|
|
+ <title>Debug Nachrichten</title>
|
|
|
+ <tgroup cols="2">
|
|
|
<thead>
|
|
|
- <row>
|
|
|
- <entry>Array Index der Nachricht</entry>
|
|
|
- <entry>Beschreibung</entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry>Array Index der Nachricht</entry>
|
|
|
+ <entry>Beschreibung</entry>
|
|
|
+ </row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
- <row>
|
|
|
- <entry>Index 0</entry>
|
|
|
- <entry>
|
|
|
- Eine generelle, Benutzerfreundliche Meldung die für die Anzeige für
|
|
|
- Benutzer passt (z.B. "Ungültige Anmeldedaten"). Wenn die Authentifizierung
|
|
|
- erfolgreich ist, dann ist dieser String leer.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
+ <row>
|
|
|
+ <entry>Index 0</entry>
|
|
|
+ <entry>
|
|
|
+ Eine generelle, Benutzerfreundliche Meldung die für die Anzeige für
|
|
|
+ Benutzer passt (z.B. "Ungültige Anmeldedaten"). Wenn die
|
|
|
+ Authentifizierung erfolgreich ist, dann ist dieser String leer.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
<entry>Index 1</entry>
|
|
|
- <entry>
|
|
|
- Eine detailiertere Fehlermeldung die nicht für die Anzeige für Benutzer
|
|
|
- hergenommen werden kann, die aber mitgeloggt werden sollte zum Vorteil des
|
|
|
- Server Operators. Wenn die Authentifizierung erfolgreich war, ist dieser
|
|
|
- String leer.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry>Indezes 2 und höher</entry>
|
|
|
- <entry>
|
|
|
- Alle Logmeldungen in Reihenfolge starten bei Index 2.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
+ <entry>
|
|
|
+ Eine detailiertere Fehlermeldung die nicht für die Anzeige für Benutzer
|
|
|
+ hergenommen werden kann, die aber mitgeloggt werden sollte zum Vorteil
|
|
|
+ des Server Operators. Wenn die Authentifizierung erfolgreich war, ist
|
|
|
+ dieser String leer.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>Indezes 2 und höher</entry>
|
|
|
+ <entry>
|
|
|
+ Alle Logmeldungen in Reihenfolge starten bei Index 2.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
</tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
|
|
|
+ <para>
|
|
|
Aus der Praxis heraus sollte der Index 0 dem Benutzer angezeigt werden (z.B. bei
|
|
|
Verwendung des FlashMessenger Helfers), Index 1 sollte geloggt werden und, wenn die
|
|
|
Debugging Information gesammelt wird, sollten die Indezes 2 und höher auch geloggt
|
|
|
@@ -563,83 +587,85 @@ Array
|
|
|
<title>Optionen für Active Directory</title>
|
|
|
|
|
|
<para>
|
|
|
- Für ADS sind die folgenden Optionen beachtenswert:
|
|
|
+ Für <acronym>ADS</acronym> sind die folgenden Optionen beachtenswert:
|
|
|
+ </para>
|
|
|
|
|
|
- <table id="zend.auth.adapter.ldap.options-common-server-specific.active-directory.table">
|
|
|
- <title>Optionen für Active Directory</title>
|
|
|
- <tgroup cols="2">
|
|
|
+ <table id="zend.auth.adapter.ldap.options-common-server-specific.active-directory.table">
|
|
|
+ <title>Optionen für Active Directory</title>
|
|
|
+ <tgroup cols="2">
|
|
|
<thead>
|
|
|
- <row>
|
|
|
- <entry>Name</entry>
|
|
|
- <entry>Zusätzliche Notizen</entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry>Name</entry>
|
|
|
+ <entry>Zusätzliche Notizen</entry>
|
|
|
+ </row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>host</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wie bei allen Servern, wird diese Option benötigt.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>useStartTls</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
|
|
|
- wenn der Server das notwendige Zertifikat installiert hat.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>useSsl</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Möglicherweise als Alternative zu <emphasis>useStartTls</emphasis> zu
|
|
|
- verwenden (siehe davor).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>baseDn</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wie bei allen Servern, wird diese Option benötigt. Standardmäßig
|
|
|
- platziert AD alle Benutzer Accounts unter dem
|
|
|
- <emphasis>Users</emphasis> Container (z.B.,
|
|
|
- <emphasis>CN=Users,DC=foo,DC=net</emphasis>), aber der Standard ist in
|
|
|
- größeren Organisationen nicht üblich. Der AD Administrator sollte nach
|
|
|
- der besten DN für Accounts für die eigene Anwendung gefragt werden.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Das wird man normalerweise für Schrägstrich-Stil Namen auf 3 stellen
|
|
|
- (z.B., <emphasis>FOO\alice</emphasis>), was für Windows Benutzer am
|
|
|
- bekanntesten ist. Man sollte <emphasis>nicht</emphasis> die
|
|
|
- unqualifizierte Form 2 verwenden (z.B., <emphasis>alice</emphasis>),
|
|
|
- da das anderen Benutzern Zugriff auf die Anwendung geben würde, wenn
|
|
|
- Sie den gleichen Benutzernamen in anderen vertrauten Domains haben
|
|
|
- (z.B., <emphasis>BAR\alice</emphasis> und
|
|
|
- <emphasis>FOO\alice</emphasis> würden als der gleiche Benutzer
|
|
|
- behandelt). (siehe auch die Notiz anbei.)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Das wird mit AD benötigt, ausser
|
|
|
- <emphasis>accountCanonicalForm</emphasis> 2 wird
|
|
|
- verwendet, was wiederum nicht eingesetzt werden sollte.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Der NetBIOS Name der Domain in der die Benutzer sind und für den der AD
|
|
|
- Server die Authorität ist. Das wird benötigt wenn der Schrägstrich-Stil
|
|
|
- <emphasis>accountCanonicalForm</emphasis> verwendet wird.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>host</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wie bei allen Servern, wird diese Option benötigt.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>useStartTls</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
|
|
|
+ wenn der Server das notwendige Zertifikat installiert hat.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>useSsl</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Möglicherweise als Alternative zu <emphasis>useStartTls</emphasis>
|
|
|
+ zu verwenden (siehe davor).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>baseDn</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wie bei allen Servern, wird diese Option benötigt. Standardmäßig
|
|
|
+ platziert AD alle Benutzer Accounts unter dem
|
|
|
+ <emphasis>Users</emphasis> Container (z.B.,
|
|
|
+ <emphasis>CN=Users,DC=foo,DC=net</emphasis>), aber der Standard ist
|
|
|
+ in größeren Organisationen nicht üblich. Der AD Administrator sollte
|
|
|
+ nach der besten DN für Accounts für die eigene Anwendung gefragt
|
|
|
+ werden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Das wird man normalerweise für Schrägstrich-Stil Namen auf 3 stellen
|
|
|
+ (z.B., <emphasis>FOO\alice</emphasis>), was für Windows Benutzer am
|
|
|
+ bekanntesten ist. Man sollte <emphasis>nicht</emphasis> die
|
|
|
+ unqualifizierte Form 2 verwenden (z.B., <emphasis>alice</emphasis>),
|
|
|
+ da das anderen Benutzern Zugriff auf die Anwendung geben würde, wenn
|
|
|
+ Sie den gleichen Benutzernamen in anderen vertrauten Domains haben
|
|
|
+ (z.B., <emphasis>BAR\alice</emphasis> und
|
|
|
+ <emphasis>FOO\alice</emphasis> würden als der gleiche Benutzer
|
|
|
+ behandelt). (siehe auch die Notiz anbei.)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Das wird mit AD benötigt, ausser
|
|
|
+ <emphasis>accountCanonicalForm</emphasis> 2 wird
|
|
|
+ verwendet, was wiederum nicht eingesetzt werden sollte.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Der NetBIOS Name der Domain in der die Benutzer sind und für den der
|
|
|
+ AD Server die Authorität ist. Das wird benötigt wenn der
|
|
|
+ Schrägstrich-Stil <emphasis>accountCanonicalForm</emphasis>
|
|
|
+ verwendet wird.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
</tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
- </para>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
@@ -662,107 +688,106 @@ Array
|
|
|
<title>Optionen für OpenLDAP</title>
|
|
|
|
|
|
<para>
|
|
|
- Für OpenLDAP oder einen generellen LDAP Server der ein typisches posixAccount
|
|
|
- Stil Schema verwendet sind die folgenden Optionen beachtenswert:
|
|
|
+ Für OpenLDAP oder einen generellen <acronym>LDAP</acronym> Server der ein typisches
|
|
|
+ posixAccount Stil Schema verwendet sind die folgenden Optionen beachtenswert:
|
|
|
+ </para>
|
|
|
|
|
|
- <table id="zend.auth.adapter.ldap.options-common-server-specific.openldap.table">
|
|
|
- <title>Optionen für OpenLDAP</title>
|
|
|
- <tgroup cols="2">
|
|
|
+ <table id="zend.auth.adapter.ldap.options-common-server-specific.openldap.table">
|
|
|
+ <title>Optionen für OpenLDAP</title>
|
|
|
+ <tgroup cols="2">
|
|
|
<thead>
|
|
|
- <row>
|
|
|
- <entry>Name</entry>
|
|
|
- <entry>Zusätzliche Notizen</entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry>Name</entry>
|
|
|
+ <entry>Zusätzliche Notizen</entry>
|
|
|
+ </row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>host</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wie bei allen Servern, wird diese Option benötigt.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>useStartTls</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
|
|
|
- wenn der Server das notwendige Zertifikat installiert hat.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>useSsl</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Möglicherweise als Alternative zu <emphasis>useStartTls</emphasis> zu
|
|
|
- verwenden (siehe davor).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>username</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Benötigt und muß ein DN sein, da OpenLDAP den Benutzernamen in DN Form
|
|
|
- benötigt wenn ein Binden durchgeführt wird. Es sollte versucht werden
|
|
|
- einen nicht privelegierten Account zu verwenden.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>password</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Das Passwort das zum Benutzernamen von oben gehört. Es kann aber
|
|
|
- unterdrückt werden wenn der LDAP Server anonymes Binden bei Abfragen zu
|
|
|
- Benutzer Accounts erlaubt.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>bindRequiresDn</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Benötigt und muß <constant>TRUE</constant> sein, da OpenLDAP den Benutzernamen
|
|
|
- in DN Form benötigt wenn ein Binden durchgeführt wird.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>baseDn</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wie bei allen Servern, wird diese Option benötigt und zeigt den DN in
|
|
|
- dem alle Accounts die authentifiziert werden enthalten sind.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Optional, aber der Standardwert ist 4 (prinzipielle-Stil Namen wie
|
|
|
- <emphasis>alice@foo.net</emphasis>) und könnte für die Benutzer nicht
|
|
|
- ideal sein wenn diese Schrägstrich-Stil Namen verwendetn (z.B.,
|
|
|
- <emphasis>FOO\alice</emphasis>). Für Schrägstrich-Stil Namen sollte der
|
|
|
- Wert 3 verwendet werden.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Benötigt es sei denn man verwendet
|
|
|
- <emphasis>accountCanonicalForm</emphasis> 2, was nicht
|
|
|
- zu empfehlen ist.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
- <entry>
|
|
|
- Wenn AD auch nicht verwendet wird, wird dieser Wert nicht benötigt.
|
|
|
- Andernfalls, wenn
|
|
|
- <emphasis>accountCanonicalForm</emphasis> 3 verwendet
|
|
|
- wird, wird diese Option benötigt und sollte ein Kurzname sein der
|
|
|
- adäquat zu <emphasis>accountDomainName</emphasis>
|
|
|
- korrespondiert (z.B., wenn
|
|
|
- <emphasis>accountDomainName</emphasis>
|
|
|
- <emphasis>foo.net</emphasis> ist, wäre ein guter
|
|
|
- <emphasis>accountDomainNameShort</emphasis> Wert
|
|
|
- <emphasis>FOO</emphasis>).
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>host</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wie bei allen Servern, wird diese Option benötigt.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>useStartTls</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Zum Zwecke der Sicherheit, sollte das <constant>TRUE</constant> sein
|
|
|
+ wenn der Server das notwendige Zertifikat installiert hat.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>useSsl</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Möglicherweise als Alternative zu <emphasis>useStartTls</emphasis>
|
|
|
+ zu verwenden (siehe davor).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>username</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Benötigt und muß ein DN sein, da OpenLDAP den Benutzernamen in DN
|
|
|
+ Form benötigt wenn ein Binden durchgeführt wird. Es sollte versucht
|
|
|
+ werden einen nicht privilegierten Account zu verwenden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>password</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Das Passwort das zum Benutzernamen von oben gehört. Es kann aber
|
|
|
+ unterdrückt werden wenn der LDAP Server anonymes Binden bei Abfragen
|
|
|
+ zu Benutzer Accounts erlaubt.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>bindRequiresDn</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Benötigt und muß <constant>TRUE</constant> sein, da OpenLDAP den
|
|
|
+ Benutzernamen in DN Form benötigt wenn ein Binden durchgeführt wird.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>baseDn</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wie bei allen Servern, wird diese Option benötigt und zeigt den DN
|
|
|
+ in dem alle Accounts die authentifiziert werden enthalten sind.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountCanonicalForm</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Optional, aber der Standardwert ist 4 (prinzipielle-Stil Namen wie
|
|
|
+ <emphasis>alice@foo.net</emphasis>) und könnte für die Benutzer
|
|
|
+ nicht ideal sein wenn diese Schrägstrich-Stil Namen verwendetn
|
|
|
+ (z.B., <emphasis>FOO\alice</emphasis>). Für Schrägstrich-Stil Namen
|
|
|
+ sollte der Wert 3 verwendet werden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainName</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Benötigt es sei denn man verwendet
|
|
|
+ <emphasis>accountCanonicalForm</emphasis> 2, was nicht
|
|
|
+ zu empfehlen ist.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>accountDomainNameShort</emphasis></entry>
|
|
|
+ <entry>
|
|
|
+ Wenn AD auch nicht verwendet wird, wird dieser Wert nicht benötigt.
|
|
|
+ Andernfalls, wenn
|
|
|
+ <emphasis>accountCanonicalForm</emphasis> 3 verwendet
|
|
|
+ wird, wird diese Option benötigt und sollte ein Kurzname sein der
|
|
|
+ adäquat zu <emphasis>accountDomainName</emphasis>
|
|
|
+ korrespondiert (z.B., wenn
|
|
|
+ <emphasis>accountDomainName</emphasis>
|
|
|
+ <emphasis>foo.net</emphasis> ist, wäre ein guter
|
|
|
+ <emphasis>accountDomainNameShort</emphasis> Wert
|
|
|
+ <emphasis>FOO</emphasis>).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
</tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
-
|
|
|
- </para>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
|
|
|
</sect3>
|
|
|
|