Zend_Auth_Adapter_Digest.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 15617 -->
  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 HTTP qui
  11. 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. <itemizedlist>
  20. <listitem>
  21. <para>identifiant, tel que "<code>jean.utilisateur</code>"</para>
  22. </listitem>
  23. <listitem>
  24. <para>domaine, tel que "<code>Zone administrative</code>"</para>
  25. </listitem>
  26. <listitem>
  27. <para>
  28. hachage MD5 d'un identifiant, domaine et mot de passe, séparés par des
  29. caractères deux-points.
  30. </para>
  31. </listitem>
  32. </itemizedlist>
  33. Les éléments ci-dessus sont séparés par des caractères deux-points, comme dans
  34. l'exemple suivant (dans lequel le mot de passe est "<code>unMotdepasse</code>")&#160;:
  35. </para>
  36. <programlisting><![CDATA[
  37. unUtilisateur:Un domaine:3b17d7f3a9374666e892cbce58aa724f
  38. ]]></programlisting>
  39. </sect2>
  40. <sect2 id="zend.auth.adapter.digest.specifics">
  41. <title>Spécifications</title>
  42. <para>
  43. L'adaptateur d'authentification Digest, <classname>Zend_Auth_Adapter_Digest</classname>
  44. requiert plusieurs paramètres d'entrée&#160;:
  45. <itemizedlist>
  46. <listitem>
  47. <para>
  48. <code>filename</code>&#160;: fichier utilisé pour réaliser
  49. l'authentification
  50. </para>
  51. </listitem>
  52. <listitem>
  53. <para>
  54. <code>realm</code>&#160;: domaine d'authentification Digest
  55. ("<code>realm</code>" en anglais)
  56. </para>
  57. </listitem>
  58. <listitem>
  59. <para>
  60. <code>username</code>&#160;: identifiant d'authentification Digest
  61. ("<code>username</code>" en anglais)
  62. </para>
  63. </listitem>
  64. <listitem>
  65. <para>
  66. <code>password</code>&#160;: mot de passe pour l'identifiant dans le
  67. domaine
  68. </para>
  69. </listitem>
  70. </itemizedlist>
  71. Ces paramètres doivent être définis avant l'appel de <code>authenticate()</code>.
  72. </para>
  73. </sect2>
  74. <sect2 id="zend.auth.adapter.digest.identity">
  75. <title>Identité</title>
  76. <para>
  77. L'adaptateur d'authentification Digest retourne un objet
  78. <classname>Zend_Auth_Result</classname>, lequel a été alimenté avec l'identité sous la
  79. forme d'un tableau ayant pour clés <code>realm</code> (domaine) et
  80. <code>username</code> (identifiant). Les valeurs respectives associées à ces clés
  81. correspondent aux valeurs définies avant l'appel à <code>authenticate()</code>.
  82. </para>
  83. <programlisting language="php"><![CDATA[
  84. $adaptateur = new Zend_Auth_Adapter_Digest($nomFichier,
  85. $domaine,
  86. $identifiant,
  87. $motdepasse);
  88. $resultat = $adaptateur->authenticate();
  89. $identite = $resultat->getIdentity();
  90. print_r($identite);
  91. /*
  92. Array
  93. (
  94. [realm] => Un domaine
  95. [username] => unUtilisateur
  96. )
  97. */
  98. ]]></programlisting>
  99. </sect2>
  100. </sect1>