Zend_Auth_Adapter_Digest.xml 4.0 KB

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