Trac に NTLM 認証でログインすると POST が全部動かなくなる
IE 6,7,8 で確認。どうやら IE としてはこれが仕様らしい?
コレという良い解決方法はない。POST メソッドすべてを Authorize Required を返すように web server を設定すれば POST も可能となるが、 ゲストによるチケット投稿を許可しつつメンバーによる開発を行っているようなサイト構造だとどうにもならない。
もう「Trac を見るときは IE を使うな」としか?
IE は、NTLM 認証後、認証済みの URL に対するリクエストに Content-Body を含めない。必ず認証要求が発生することを前提としているようで、認証要求が発生した場合の再リクエストには Content-Body を含めたリクエストを行ってくれる。このため、GET メソッドのみが正常に動作し、POST メソッドが正常に動作しないかのような状態になってしまう。*1
- ゲストユーザとメンバーユーザで同じページを共有
- ログインページで認証を行っている
- ゲストユーザでも POST したい(不具合の投稿など)
apache なので If 系のディレクティブを色々つかえば、なんとかなるかなあ?