ダイジェスト認証 は、 ベーシック認証 を改良した HTTP 認証方式です。 パスワードを平文テキストでネットワークに流すことなく認証を行えます。
このアダプタは、テキストファイルをもとにした認証を行います。 このテキストファイルには、ダイジェスト認証の基本要素が書かれています。
"joe.user
" のようなユーザ名。
"Administrative Area
" のようなレルム。
ユーザ名、レルムおよびパスワードをコロンで区切った文字列の MD5 ハッシュ。
それぞれの要素はコロンで区切り、たとえば次のようになります
(この例のパスワードは "somePassword
") です。
someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8
ダイジェスト認証アダプタ Zend_Auth_Adapter_Digest
には、以下の入力パラメータが必要です。
filename - 認証の問い合わせ先となるファイル名。
realm - ダイジェスト認証のレルム。
username - ダイジェスト認証のユーザ名。
password - 指定したレルムにおける、ユーザのパスワード。
これらのパラメータは、authenticate()
をコールする前に設定しなければなりません。
ダイジェスト認証アダプタは Zend_Auth_Result
オブジェクトを返します。ここに、認証された ID の情報が
配列として含まれます。配列のキーは
realm
および username
です。
これらのキーに対応する配列の値は、
authenticate()
をコールする前に設定したものに対応します。
<?php require_once 'Zend/Auth/Adapter/Digest.php'; $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 ) */