Zend_Auth_Adapter_Digest.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.auth.adapter.digest">
  5. <title>Authentification "Digest"</title>
  6. <sect2 id="zend.auth.adapter.digest.introduction">
  7. <title>Introduction</title>
  8. <para>
  9. <ulink url="http://fr.wikipedia.org/wiki/HTTP_Authentification#M.C3.A9thode_Digest">
  10. L'authentification "Digest"</ulink> est une méthode d'authentification
  11. <acronym>HTTP</acronym> qui améliore
  12. <ulink url="http://fr.wikipedia.org/wiki/HTTP_Authentification#M.C3.A9thode_Basic">
  13. l'authentification basique</ulink> en fournissant un moyen d'authentifier sans avoir à
  14. transmettre le mot de passe en clair sur le réseau.
  15. </para>
  16. <para>
  17. Cet adaptateur permet l'authentification en utilisant un fichier texte contenant
  18. des lignes comportant les éléments de base d'une authentification Digest&#160;:
  19. </para>
  20. <itemizedlist>
  21. <listitem>
  22. <para>
  23. identifiant, tel que
  24. "<emphasis><filename>utilisateur.jean</filename></emphasis>"
  25. </para>
  26. </listitem>
  27. <listitem>
  28. <para>domaine, tel que "<emphasis>Zone administrative</emphasis>"</para>
  29. </listitem>
  30. <listitem>
  31. <para>
  32. hachage <acronym>MD5</acronym>5 d'un identifiant, domaine et mot de passe,
  33. séparés par des caractères deux-points.
  34. </para>
  35. </listitem>
  36. </itemizedlist>
  37. <para>
  38. Les éléments ci-dessus sont séparés par des caractères deux-points, comme dans
  39. l'exemple suivant (dans lequel le mot de passe est
  40. "<emphasis>unMotdepasse</emphasis>")&#160;:
  41. </para>
  42. <programlisting language="txt"><![CDATA[
  43. unUtilisateur:Un domaine:3b17d7f3a9374666e892cbce58aa724f
  44. ]]></programlisting>
  45. </sect2>
  46. <sect2 id="zend.auth.adapter.digest.specifics">
  47. <title>Spécifications</title>
  48. <para>
  49. L'adaptateur d'authentification Digest, <classname>Zend_Auth_Adapter_Digest</classname>
  50. requiert plusieurs paramètres d'entrée&#160;:
  51. </para>
  52. <itemizedlist>
  53. <listitem>
  54. <para>
  55. filename&#160;: fichier utilisé pour réaliser
  56. l'authentification
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. realm&#160;: domaine d'authentification Digest ("realm" en anglais)
  62. </para>
  63. </listitem>
  64. <listitem>
  65. <para>
  66. username&#160;: identifiant d'authentification Digest
  67. </para>
  68. </listitem>
  69. <listitem>
  70. <para>
  71. password&#160;: mot de passe pour l'identifiant dans le domaine
  72. </para>
  73. </listitem>
  74. </itemizedlist>
  75. <para>
  76. Ces paramètres doivent être définis avant l'appel de
  77. <methodname>authenticate()</methodname>.
  78. </para>
  79. </sect2>
  80. <sect2 id="zend.auth.adapter.digest.identity">
  81. <title>Identité</title>
  82. <para>
  83. L'adaptateur d'authentification Digest retourne un objet
  84. <classname>Zend_Auth_Result</classname>, lequel a été alimenté avec l'identité sous la
  85. forme d'un tableau ayant pour clés <emphasis>realm</emphasis> (domaine) et
  86. <emphasis>username</emphasis> (identifiant). Les valeurs respectives associées à ces
  87. clés correspondent aux valeurs définies avant l'appel à
  88. <methodname>authenticate()</methodname>.
  89. </para>
  90. <programlisting language="php"><![CDATA[
  91. $adaptateur = new Zend_Auth_Adapter_Digest($nomFichier,
  92. $domaine,
  93. $identifiant,
  94. $motdepasse);
  95. $resultat = $adaptateur->authenticate();
  96. $identite = $resultat->getIdentity();
  97. print_r($identite);
  98. /*
  99. Array
  100. (
  101. [realm] => Un domaine
  102. [username] => unUtilisateur
  103. )
  104. */
  105. ]]></programlisting>
  106. </sect2>
  107. </sect1>