1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.auth.adapter.digest">
<title>Digest Authentication</title>
<sect2 id="zend.auth.adapter.digest.introduction">
<title>Einführung</title>
<para>
<ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Digest
Authentifizierung</ulink> ist eine Methode der <acronym>HTTP</acronym>
Authentifizierung welche die <ulink
url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Basis
Authentifizierung</ulink> verbessert indem ein Weg angeboten wird um
Authentifizierungen, ohne die Übermittlung des Passwortes als Klartext über das
Netzwerk, durchzuführen.
</para>
<para>
Dieser Adapter erlaubt Authentifizierungen gegen Textdateien die Zeilen enthalten die
folgende Basiselemente der Digest Authentifizierung enthalten:
</para>
<itemizedlist>
<listitem>
<para>
Benutzername, wie z.B. "<emphasis><filename>joe.user</filename></emphasis>"
</para>
</listitem>
<listitem>
<para>
Bereich, wie z.B. "<emphasis>Administrativer Bereich</emphasis>"
</para>
</listitem>
<listitem>
<para>
<acronym>MD5</acronym> Hash von Benutzername, Bereich und Passwort, getrennt
durch Doppelpunkte
</para>
</listitem>
</itemizedlist>
<para>
Die obigen Elemente werden durch Doppelpunkte getrennt, wie im folgenden Beispiel (in
dem das Passwort "<emphasis>irgendeinPasswort</emphasis>" ist):
</para>
<programlisting language="txt"><![CDATA[
irgendeinBenutzer:Irgendein Bereich:fde17b91c3a510ecbaf7dbd37f59d4f8
]]></programlisting>
</sect2>
<sect2 id="zend.auth.adapter.digest.specifics">
<title>Spezifisches</title>
<para>
Der Digest Authentifizierungs Adapter, <classname>Zend_Auth_Adapter_Digest</classname>,
benötigt verschiedene Eingabeparameter:
</para>
<itemizedlist>
<listitem>
<para>
filename - Der Dateiename gegen den Authentifizierungs-Anfragen durchgeführt
werden
</para>
</listitem>
<listitem>
<para>
realm - Digest Authentifizierungs Bereich
</para>
</listitem>
<listitem>
<para>
username - Digest Authentifizierungs Benutzer
</para>
</listitem>
<listitem>
<para>
password - Passwort für den Benutzer des Bereichs
</para>
</listitem>
</itemizedlist>
<para>
Diese Parameter müssen vor dem Aufruf von <methodname>authenticate()</methodname>
gesetzt werden.
</para>
</sect2>
<sect2 id="zend.auth.adapter.digest.identity">
<title>Identität</title>
<para>
Der Digest Authentifizierungs Adapter gibt ein <classname>Zend_Auth_Result</classname>
Objekt zurück, welches mit der Identität wird wobei dieses als Arry mit Schlüssel von
<emphasis>realm</emphasis> und <emphasis>username</emphasis> veröffentlicht wird. Die
entsprechenden Array Werte welche diesen Schlüsseln zugeordnet sind korrespondieren mit
den Werte die vorher durch den Aufruf von <methodname>authenticate()</methodname>
gesetzt wurden.
</para>
<programlisting language="php"><![CDATA[
$adapter = new Zend_Auth_Adapter_Digest($filename,
$realm,
$username,
$password);
$result = $adapter->authenticate();
$identity = $result->getIdentity();
print_r($identity);
/*
Array
(
[realm] => Irgendein Bereich
[username] => irgendeinBenutzer
)
*/
]]></programlisting>
</sect2>
</sect1>
|