Zend_Auth_Adapter_Digest.xml 3.6 KB

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