[PHP-users 31093] Re:ログインダイアログの認証が出来ない

鈴木 徹 suzuki-tooru @ hotmail.co.jp
2006年 12月 22日 (金) 13:18:38 JST


こんにちは、鈴木徹です。

以下のソースコードを実行したときの症状を伝えます。
<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header("WWW-Authenticate: Basic realm=\"My Realm\"");
    header("HTTP/1.0 401 Unauthorized");
    echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n";
    exit;
  } else {
    echo "<p>こんにちは、{$_SERVER['PHP_AUTH_USER']} さん。</p>";
    echo "<p>あなたは、{$_SERVER['PHP_AUTH_PW']} をパスワードとして入力しま
した。</p>";
  }
?>
ダイアログを表示して名前とパスワードの入力を促す処理なのですが、
ダイアログに表示されている「領域」がheaderで指定されたレルム名(ここではMy 
Realm)ではなく
localhostになっています。
そのせいかもしれませんが、名前にホストマシンの名前を、パスワードにホストマシ
ンのパスワードを入力すると
ヘッダーから抜け出して「こんにちは〜さん。以下略)」と表示されます。
名前とパスワードを空白にしてもヘッダから抜け出します。
それ以外の文字列は認証されませんでした。
レルムをlocalhost側で認識させるようにする必要があると思われるのですが、
原因がわかりません。
どなたかご教授をお願いします。

>こんにちは。千葉と申します。
>
>思いっきり外しているかもしれませんが、IISの設定で
>「統合Windows認証」にチェックが入っていて、それを外すと成功
>したりはしないでしょうか?
>
>以前、特定のクライアントでPukiwikiの認証が出来ないという
>報告があり、調べてみたところ、IEを使ってPHPのbasic認証を
>行おうとするとPHPの認証に入る前に統合Windows認証の方に横
>取りされてしまっていたというケースがあったので。
>
回答ありがとうございます。
「統合Windows認証」のチェックは外れていました。

_________________________________________________________________
MSNでマイルを貯めて、豪華ビジネスクラス世界一周航空券を当てよう! 
http://jp.msn.com/ 



PHP-users メーリングリストの案内