[PHP-users 12410] Re: BASIC 認証に関して

Koji Hara php-users@php.gr.jp
Mon, 06 Jan 2003 02:57:07 +0900


はらです。

>BASIC認証のログイン画面が立ち上がってしまいました。
>この場合はヘッダに送信した情報は認証キャッシュとして残らないのでしょうか?
>ヘッダに送信した情報を認証キャッシュとして残したいのですが良い手法はないで
>しょうか?

Authorization: Basic .... は、認証が必要なページを見るたびに
毎回リクエストヘッダに含めなければなりません。

普通は認証画面は一度出るだけですが、それは一度認証に通った時の
ID, passwd をブラウザが覚えていて裏でそれを毎回送信しているからです。

サーバー側は、あくまでも今回来たリクエストだけを見て
valid user かどうかを決めるので、BASIC 認証に関して言えば
サーバー側にどのクライアントが認証されたというキャッシュはありません。

なので、

1 松原さんのおっしゃる「DB認証」が、PHP から HTTP/1.0 401 ヘッダを
  出すことによる BASIC 認証である。

2 「DB認証」の ID, passwd が、ディレクトリにかけた apache の
  BASIC 認証のものと同じか、に含まれる。

1と2どちらも成り立てば、「DB認証」を通った人は認証成功時の
キャッシュを持っているのでディレクトリの認証画面はでませんが、
そうでない場合は難しいでしょう。



// はら