3.3. 摘要式认证
3.3.1. 简介
摘要式认证是一个Http认证的方法,它通过不需要通过网络传递明文密码的方法对基本认证加以改进。
这个适配器允许依靠文本文件认证,该文本包括数行摘要式认证的基本元素:
用户名,例如 "
joe.user
"领域,例如 "
Administrative Area
"用户名,领域和密码的MD5 hash用冒号隔开
在下面的例子中,上面的元素用冒号隔开(密码是"somePassword
"):
someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
3.3.2. 规范(Specifics)
摘要式认证适配器Zend_Auth_Adapter_Digest
需要若干输入参数:
文件名 - 认证查询被执行是所需的文件名
领域 - 摘要式认证领域
用户名 - 摘要式认证用户
密码 - 该领域用户的密码
在调用authenticate()
之前必需要设定这些参数。
3.3.3. 身份(Identity)
摘要式认证返回一个Zend_Auth_Result
对象,它由包含realm
和username
健值的数组的身份形成。在authenticate()
被调用之前,分别设置和这些健值关联的数组值为相符的值。
< $adapter = new Zend_Auth_Adapter_Digest($filename, $realm, $username, $password); $result = $adapter->authenticate(); $identity = $result->getIdentity(); print_r($identity); /* Array ( [realm] => Some Realm [username] => someUser ) */