Zend_Auth_Adapter_Digest.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 15103 -->
  4. <sect1 id="zend.auth.adapter.digest">
  5. <title>ダイジェスト認証</title>
  6. <sect2 id="zend.auth.adapter.digest.introduction">
  7. <title>導入</title>
  8. <para>
  9. <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">ダイジェスト認証</ulink>
  10. は、
  11. <ulink url="http://ja.wikipedia.org/wiki/Basic%E8%AA%8D%E8%A8%BC">ベーシック認証</ulink>
  12. を改良した HTTP 認証方式です。
  13. パスワードを平文テキストでネットワークに流すことなく認証を行えます。
  14. </para>
  15. <para>
  16. このアダプタは、テキストファイルをもとにした認証を行います。
  17. このテキストファイルには、ダイジェスト認証の基本要素が書かれています。
  18. <itemizedlist>
  19. <listitem>
  20. <para>
  21. "<code>joe.user</code>" のようなユーザ名。
  22. </para>
  23. </listitem>
  24. <listitem>
  25. <para>
  26. "<code>Administrative Area</code>" のようなレルム。
  27. </para>
  28. </listitem>
  29. <listitem>
  30. <para>
  31. ユーザ名、レルムおよびパスワードをコロンで区切った文字列の MD5 ハッシュ。
  32. </para>
  33. </listitem>
  34. </itemizedlist>
  35. それぞれの要素はコロンで区切り、たとえば次のようになります
  36. (この例のパスワードは "<code>somePassword</code>") です。
  37. </para>
  38. <programlisting><![CDATA[
  39. someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
  40. ]]>
  41. </programlisting>
  42. </sect2>
  43. <sect2 id="zend.auth.adapter.digest.specifics">
  44. <title>使用</title>
  45. <para>
  46. ダイジェスト認証アダプタ <classname>Zend_Auth_Adapter_Digest</classname>
  47. には、以下の入力パラメータが必要です。
  48. <itemizedlist>
  49. <listitem>
  50. <para>
  51. filename - 認証の問い合わせ先となるファイル名。
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. realm - ダイジェスト認証のレルム。
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. username - ダイジェスト認証のユーザ名。
  62. </para>
  63. </listitem>
  64. <listitem>
  65. <para>
  66. password - 指定したレルムにおける、ユーザのパスワード。
  67. </para>
  68. </listitem>
  69. </itemizedlist>
  70. これらのパラメータは、<code>authenticate()</code>
  71. をコールする前に設定しなければなりません。
  72. </para>
  73. </sect2>
  74. <sect2 id="zend.auth.adapter.digest.identity">
  75. <title>ID</title>
  76. <para>
  77. ダイジェスト認証アダプタは <classname>Zend_Auth_Result</classname>
  78. オブジェクトを返します。ここに、認証された ID の情報が
  79. 配列として含まれます。配列のキーは
  80. <code>realm</code> および <code>username</code> です。
  81. これらのキーに対応する配列の値は、
  82. <code>authenticate()</code> をコールする前に設定したものに対応します。
  83. </para>
  84. <programlisting role="php"><![CDATA[
  85. $adapter = new Zend_Auth_Adapter_Digest($filename,
  86. $realm,
  87. $username,
  88. $password);
  89. $result = $adapter->authenticate();
  90. $identity = $result->getIdentity();
  91. print_r($identity);
  92. /*
  93. Array
  94. (
  95. [realm] => Some Realm
  96. [username] => someUser
  97. )
  98. */
  99. ]]>
  100. </programlisting>
  101. </sect2>
  102. </sect1>
  103. <!--
  104. vim:se ts=4 sw=4 et:
  105. -->