phpでベーシック認証 - bnoteを参考にし、PHPのheader関数を使って、Basic認証をするコーディングをしてたんですが、どうもうまくいきません。
WWW-Authenticate ヘッダ送信後に認証ダイアログが表示されるべきなのですが、そこをスルーし401のヘッダ送信部分が動いているようなのです。
で、調査するとphp.iniの設定に問題があることが分かりました。
PHP:Warning: Cannot modify header information - headers already sent by ...の解決策: go4itの情報が参考になりました。
php.iniの output_buffering の値を On にすればいいようです。
ただベーシック認証を使う方法よりかは、フォーム認証を使う方が一般的ですよね。