Zend_Auth_Adapter_Digest.xml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <sect1 id="zend.auth.adapter.digest">
  2. <title>摘要式认证</title>
  3. <sect2 id="zend.auth.adapter.digest.introduction">
  4. <title>简介</title>
  5. <para>
  6. <ulink url="http://en.wikipedia.org/wiki/Digest_access_authentication">摘要式认证</ulink>是一个HTTP认证的方法,它通过不需要通过网络传递明文密码的方法对<ulink url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">基本认证</ulink>加以改进。
  7. </para>
  8. <para>
  9. 这个适配器允许依靠文本文件认证,该文本包括数行摘要式认证的基本元素:
  10. <itemizedlist>
  11. <listitem>
  12. <para>
  13. 用户名,例如 "<code>joe.user</code>"
  14. </para>
  15. </listitem>
  16. <listitem>
  17. <para>
  18. 领域,例如 "<code>Administrative Area</code>"
  19. </para>
  20. </listitem>
  21. <listitem>
  22. <para>
  23. 用户名,领域和密码的MD5 hash用冒号隔开
  24. </para>
  25. </listitem>
  26. </itemizedlist>
  27. 在下面的例子中,上面的元素用冒号隔开(密码是"<code>somePassword</code>"):
  28. </para>
  29. <programlisting><![CDATA[
  30. someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
  31. ]]>
  32. </programlisting>
  33. </sect2>
  34. <sect2 id="zend.auth.adapter.digest.specifics">
  35. <title>规范(Specifics)</title>
  36. <para>
  37. 摘要式认证适配器<code>Zend_Auth_Adapter_Digest</code>需要若干输入参数:
  38. <itemizedlist>
  39. <listitem>
  40. <para>
  41. 文件名 - 认证查询被执行是所需的文件名
  42. </para>
  43. </listitem>
  44. <listitem>
  45. <para>
  46. 领域 - 摘要式认证领域
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. 用户名 - 摘要式认证用户
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. 密码 - 该领域用户的密码
  57. </para>
  58. </listitem>
  59. </itemizedlist>
  60. 在调用<code>authenticate()</code>之前必需要设定这些参数。
  61. </para>
  62. </sect2>
  63. <sect2 id="zend.auth.adapter.digest.identity">
  64. <title>身份(Identity)</title>
  65. <para>
  66. 摘要式认证返回一个<code>Zend_Auth_Result</code> 对象,它由包含<code>realm</code>和<code>username</code>健值的数组的身份形成。在<code>authenticate()</code>被调用之前,分别设置和这些健值关联的数组值为相符的值。
  67. </para>
  68. <programlisting role="php"><![CDATA[
  69. <
  70. $adapter = new Zend_Auth_Adapter_Digest($filename,
  71. $realm,
  72. $username,
  73. $password);
  74. $result = $adapter->authenticate();
  75. $identity = $result->getIdentity();
  76. print_r($identity);
  77. /*
  78. Array
  79. (
  80. [realm] => Some Realm
  81. [username] => someUser
  82. )
  83. */
  84. ]]>
  85. </programlisting>
  86. </sect2>
  87. </sect1>
  88. <!--
  89. vim:se ts=4 sw=4 et:
  90. -->