3.2. ダイジェスト認証
前のページ | 第3章 Zend_Auth | 次のページ

## 3.2. ダイジェスト認証

### 3.2.1. 導入

ダイジェスト認証 は、 ベーシック認証 を改良した HTTP 認証方式です。 パスワードを平文テキストでネットワークに流すことなく認証を行えます。

このアダプタは、テキストファイルをもとにした認証を行います。 このテキストファイルには、ダイジェスト認証の基本要素が書かれています。

- "`joe.user`" のようなユーザ名。

- "`Administrative Area`" のようなレルム。

- ユーザ名、レルムおよびパスワードをコロンで区切った文字列の MD5 ハッシュ。

それぞれの要素はコロンで区切り、たとえば次のようになります (この例のパスワードは "`somePassword`") です。

    someUser:Some Realm:fde17b91c3a510ecbaf7dbd37f59d4f8

### 3.2.2. 使用

ダイジェスト認証アダプタ `Zend_Auth_Adapter_Digest` には、以下の入力パラメータが必要です。

- filename - 認証の問い合わせ先となるファイル名。

- realm - ダイジェスト認証のレルム。

- username - ダイジェスト認証のユーザ名。

- password - 指定したレルムにおける、ユーザのパスワード。

これらのパラメータは、`authenticate()` をコールする前に設定しなければなりません。

### 3.2.3. ID

ダイジェスト認証アダプタは `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
    )
    */

前のページ | 上に戻る | 次のページ
第3章 Zend_Auth | ホーム | 第4章 Zend_Cache