Zend_Auth_Adapter_Digest.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 15735 -->
  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. "<emphasis>joe.user</emphasis>" のようなユーザ名。
  22. </para>
  23. </listitem>
  24. <listitem>
  25. <para>
  26. "<emphasis>Administrative Area</emphasis>" のようなレルム。
  27. </para>
  28. </listitem>
  29. <listitem>
  30. <para>
  31. ユーザ名、レルムおよびパスワードをコロンで区切った文字列の MD5 ハッシュ。
  32. </para>
  33. </listitem>
  34. </itemizedlist>
  35. それぞれの要素はコロンで区切り、たとえば次のようになります
  36. (この例のパスワードは "<emphasis>somePassword</emphasis>") です。
  37. </para>
  38. <programlisting><![CDATA[
  39. someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
  40. ]]></programlisting>
  41. </sect2>
  42. <sect2 id="zend.auth.adapter.digest.specifics">
  43. <title>使用</title>
  44. <para>
  45. ダイジェスト認証アダプタ <classname>Zend_Auth_Adapter_Digest</classname>
  46. には、以下の入力パラメータが必要です。
  47. <itemizedlist>
  48. <listitem>
  49. <para>
  50. filename - 認証の問い合わせ先となるファイル名。
  51. </para>
  52. </listitem>
  53. <listitem>
  54. <para>
  55. realm - ダイジェスト認証のレルム。
  56. </para>
  57. </listitem>
  58. <listitem>
  59. <para>
  60. username - ダイジェスト認証のユーザ名。
  61. </para>
  62. </listitem>
  63. <listitem>
  64. <para>
  65. password - 指定したレルムにおける、ユーザのパスワード。
  66. </para>
  67. </listitem>
  68. </itemizedlist>
  69. これらのパラメータは、<methodname>authenticate()</methodname>
  70. をコールする前に設定しなければなりません。
  71. </para>
  72. </sect2>
  73. <sect2 id="zend.auth.adapter.digest.identity">
  74. <title>ID</title>
  75. <para>
  76. ダイジェスト認証アダプタは <classname>Zend_Auth_Result</classname>
  77. オブジェクトを返します。ここに、認証された ID の情報が
  78. 配列として含まれます。配列のキーは
  79. <emphasis>realm</emphasis> および <emphasis>username</emphasis> です。
  80. これらのキーに対応する配列の値は、
  81. <methodname>authenticate()</methodname> をコールする前に設定したものに対応します。
  82. </para>
  83. <programlisting language="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. ]]></programlisting>
  99. </sect2>
  100. </sect1>
  101. <!--
  102. vim:se ts=4 sw=4 et:
  103. -->