
最も簡潔に言えば、私の質問は、IIS 7 統合モードで実行されている ASP.NET 4.0 アプリが、Web.config ファイルのこの部分を尊重できるかどうかです。
<location path="auth/windows">
<system.webServer>
<modules>
<remove name="FormsAuthentication"/>
</modules>
</system.webServer>
</location>
混合モード認証 (Windows とフォーム) を試しています。IIS マネージャーを使用して、上記の場所パス内にある auth/windows/winauth.aspx への匿名認証を無効にしました。302 を含むさまざまな HTTP ステータス コードをトレースするように、失敗した要求トレースを設定しました。
winauth.aspx ページを要求すると、302 HTTP ステータス コードが返されます。要求トレースを見ると、401 (未承認) が AnonymousAuthenticationModule によって最初に生成されたことがわかります。ただし、FormsAuthenticationModule はそれを 302 に変換し、これがブラウザーに表示されます。そのため、そのパスのページのパイプラインからそのモジュールを削除する試みは機能していないようです。ただし、無効な構成であることを示すエラーはどこにも表示されていません (イベント ビューアー、イエロー ページ オブ デスなど)。ブラウザーに 401 が返されるようにします。これには、適切な WWW-Authenticate ヘッダーが含まれると考えられます。
その他の点: a) <authentication mode="Forms">
Web.config には 302 リダイレクト先があります。b) 削除しようとしているモジュールの「名前」は inetserv\config\applicationHost.config ファイルから取得しました。c) Web.config ファイルに次の要素があります: <modules runAllManagedModulesForAllRequests="false">
; d) 認証モードを「なし」に設定したパスの要素を試しました<location>
が、プロパティをアプリケーション レベルより下に設定できないという黄色の例外ページが表示されました。
この方法でモジュールを削除して成功した人はいますか?