[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 メーリングリストの案内