4
IIS 7.5:Windows認証でカスタム認証エラーページを構成する方法。401ヘッダーの問題
IIS 7.5で実行されているphp Webサイトがあります。サイトはWindows認証によって保護されており、正常に機能します。 ユーザーがサイトにアクセスすると、ユーザー名/パスワードの入力を求められ、認証された場合は通過します。ユーザーが[キャンセル]をクリックするか、パスワードを3回誤入力すると、401エラーページが表示されます。 次に、ログイン方法を説明するカスタムページを表示したいと思います。だから私はエラーページに行き、ステータスコード401.2を選択して、表示したいページを指し示します: 次に、すべてのユーザーに対してカスタムエラーがオンになっていることを確認します。そしてカーブーム!認証は機能しなくなり、ユーザーにはパスワードプロンプトが表示されません。文書によると、Windows認証は最初に401応答を送信することで機能し、次にブラウザーはユーザーにプロバイダーの資格情報を要求し、次に何をするかを決定します。 ここで何が起こるか:IISがページの最初のリクエストで401ヘッダーを送信しようとしますが、web.configが「401でこのページにリダイレクトする」と言うことに気付きます。そして、認証の代わりに、リダイレクトページを提供するだけです。 401、401.1、401.2を交換しようとしましたが、違いはありませんでした。 私は何を間違えていますか?ユーザー認証エラーでカスタムページを表示する方法は? ps web.configは次のとおりです。 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpErrors errorMode="Custom"> <remove statusCode="500" subStatusCode="-1" /> <remove statusCode="404" subStatusCode="-1" /> <remove statusCode="401" subStatusCode="-1" /> <error statusCode="401" subStatusCode="2" prefixLanguageFilePath="" path="/not_restricted/401.htm" responseMode="ExecuteURL" /> <error statusCode="404" prefixLanguageFilePath="" path="/not_restricted/404.htm" responseMode="ExecuteURL" /> </httpErrors> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> …