Zend_Auth_Adapter_Digest.xml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.auth.adapter.digest">
  4. <title>Uwierzytelnianie Digest</title>
  5. <sect2 id="zend.auth.adapter.digest.introduction">
  6. <title>Wprowadzenie</title>
  7. <para>
  8. <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Uwierzytelnianie Digest</ulink>
  9. jest metodą uwierzytelniania <acronym>HTTP</acronym>, która udoskonala
  10. <ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">uwierzytelnianie Basic</ulink>
  11. dostarczając sposób uwierzytelniania bez konieczności przesyłania
  12. hasła w postaci czystego tekstu poprzez sieć.
  13. </para>
  14. <para>
  15. Ten adapter pozwala na uwierzytelnianie w oparciu o pliki tekstowe
  16. zawierające linie, w których znajdują się podstawowe elementy
  17. uwierzytelniania digest:
  18. </para>
  19. <itemizedlist>
  20. <listitem>
  21. <para>
  22. nazwa użytkownika, jak na przykład "<emphasis><filename>joe.user</filename></emphasis>"
  23. </para>
  24. </listitem>
  25. <listitem>
  26. <para>
  27. nazwa obszaru, jak na przykład "<emphasis>Administrative Area</emphasis>"
  28. </para>
  29. </listitem>
  30. <listitem>
  31. <para>
  32. skrót <acronym>MD5</acronym> nazwy użytkownika, nazwy obszaru oraz hasła,
  33. oddzielonych dwukropkami
  34. </para>
  35. </listitem>
  36. </itemizedlist>
  37. <para>
  38. Powyższe elementy są oddzielone dwukropkami, tak jak w poniższym przykładzie
  39. (w którym hasłem jest "<emphasis>somePassword</emphasis>"):
  40. </para>
  41. <programlisting language="txt"><![CDATA[
  42. someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
  43. ]]></programlisting>
  44. </sect2>
  45. <sect2 id="zend.auth.adapter.digest.specifics">
  46. <title>Parametry</title>
  47. <para>
  48. Adapter uwierzytelniania digest, <classname>Zend_Auth_Adapter_Digest</classname>,
  49. wymaga ustawienia kilku wejściowych parametrów:
  50. </para>
  51. <itemizedlist>
  52. <listitem>
  53. <para>
  54. filename - plik na podstawie którego przeprowadzane są
  55. zapytania uwierzytelniania
  56. </para>
  57. </listitem>
  58. <listitem>
  59. <para>
  60. realm - obszar uwierzytelniania Digest
  61. </para>
  62. </listitem>
  63. <listitem>
  64. <para>
  65. username - użytkownik uwierzytelniania Digest
  66. </para>
  67. </listitem>
  68. <listitem>
  69. <para>
  70. password - hasło dla użytkownika danego obszaru
  71. </para>
  72. </listitem>
  73. </itemizedlist>
  74. <para>
  75. Te parametry muszą być ustawione przed wywołaniem metody
  76. <methodname>authenticate()</methodname>.
  77. </para>
  78. </sect2>
  79. <sect2 id="zend.auth.adapter.digest.identity">
  80. <title>Tożsamość</title>
  81. <para>
  82. Adapter uwierzytelniania digest zwraca obiekt <classname>Zend_Auth_Result</classname>,
  83. który został wypełniony danymi tożsamości w postaci tablicy posiadajacej
  84. klucze <emphasis>realm</emphasis> oraz <emphasis>username</emphasis>. Odpowiednie
  85. wartości tablicy powiązane z tymi kluczami odpowiadają wartościom
  86. ustawionym przed wywołaniem metody <methodname>authenticate()</methodname>.
  87. </para>
  88. <programlisting language="php"><![CDATA[
  89. $adapter = new Zend_Auth_Adapter_Digest($filename,
  90. $realm,
  91. $username,
  92. $password);
  93. $result = $adapter->authenticate();
  94. $identity = $result->getIdentity();
  95. print_r($identity);
  96. /*
  97. Array
  98. (
  99. [realm] => Some Realm
  100. [username] => someUser
  101. )
  102. */
  103. ]]></programlisting>
  104. </sect2>
  105. </sect1>