Zend_Auth_Adapter_Digest.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.auth.adapter.digest">
  5. <title>Autenticación "Digest"</title>
  6. <sect2 id="zend.auth.adapter.digest.introduction">
  7. <title>Introducción</title>
  8. <para>
  9. La
  10. <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">Autenticación
  11. "Digest"</ulink>
  12. es un método de la autenticación
  13. <acronym>HTTP</acronym>
  14. que mejora la
  15. <ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">Autenticación
  16. Básica</ulink>
  17. proporcionando una manera de
  18. autenticar sin tener que transmitir la contraseña de manera
  19. clara a
  20. través de la red.
  21. </para>
  22. <para>Este adaptador permite la autentificación contra archivos de
  23. texto que contengan líneas
  24. que tengan los elementos básicos de la
  25. autenticación "Digest":
  26. </para>
  27. <itemizedlist>
  28. <listitem>
  29. <para>
  30. username, tal como
  31. "
  32. <emphasis>
  33. <filename>joe.user</filename>
  34. </emphasis>
  35. "
  36. </para>
  37. </listitem>
  38. <listitem>
  39. <para>
  40. realm, tal como "
  41. <emphasis>Administrative Area</emphasis>
  42. "
  43. </para>
  44. </listitem>
  45. <listitem>
  46. <para>
  47. Hash
  48. <acronym>MD5</acronym>
  49. del username, realm y password,
  50. separados por dos puntos
  51. </para>
  52. </listitem>
  53. </itemizedlist>
  54. <para>
  55. Los elementos anteriores están separados por dos
  56. puntos, como en el ejemplo siguiente (en
  57. el que la contraseña es
  58. "
  59. <emphasis>somePassword</emphasis>
  60. "):
  61. </para>
  62. <programlisting language="txt"><![CDATA[
  63. someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
  64. ]]></programlisting>
  65. </sect2>
  66. <sect2 id="zend.auth.adapter.digest.specifics">
  67. <title>Detalles Específicos</title>
  68. <para>
  69. El adaptador de autenticación "Digest",
  70. <classname>Zend_Auth_Adapter_Digest</classname>
  71. , requiere varios
  72. parámetros de entrada:
  73. </para>
  74. <itemizedlist>
  75. <listitem>
  76. <para>filename - Nombre del archivo contra el que se
  77. realiza la autenticación de las consultas</para>
  78. </listitem>
  79. <listitem>
  80. <para>realm - Domino de la autenticación "Digest"</para>
  81. </listitem>
  82. <listitem>
  83. <para>username - Usuario de la autenticación "Digest"
  84. </para>
  85. </listitem>
  86. <listitem>
  87. <para>password - Contraseña para el usuario del dominio
  88. </para>
  89. </listitem>
  90. </itemizedlist>
  91. <para>
  92. Estos parámetros deben ser establecidos antes de
  93. llamar a
  94. <methodname>authenticate()</methodname>
  95. .
  96. </para>
  97. </sect2>
  98. <sect2 id="zend.auth.adapter.digest.identity">
  99. <title>Identidad</title>
  100. <para>
  101. El adaptador de autenticación "Digest" devuelve un objeto
  102. <classname>Zend_Auth_Result</classname>
  103. , que ha sido rellenado
  104. con la identidad como un array que tenga claves
  105. <emphasis>realm</emphasis>
  106. y
  107. <emphasis>username</emphasis>
  108. . Los respectivos valores del
  109. array asociados con esas claves correspondes con los
  110. valores fijados
  111. andes de llamar a
  112. <methodname>authenticate()</methodname>
  113. .
  114. </para>
  115. <programlisting language="php"><![CDATA[
  116. $adapter = new Zend_Auth_Adapter_Digest($filename,
  117. $realm,
  118. $username,
  119. $password);
  120. $result = $adapter->authenticate();
  121. $identity = $result->getIdentity();
  122. print_r($identity);
  123. /*
  124. Array
  125. (
  126. [realm] => Some Realm
  127. [username] => someUser
  128. )
  129. */
  130. ]]></programlisting>
  131. </sect2>
  132. </sect1>