[ad_1]
こんにちは、
web.config または IIS 7 の設定内に、ログイン プロンプトを停止し、URL 認証ルールにより拒否されたときにユーザーに 401 エラーを強制する方法はありますか?
現時点では、ページへのアクセスは正常に制限されていますが、ログイン プロンプトで[キャンセル]をクリックするまで、「401 – 承認されていません: 資格情報が無効であるためアクセスが拒否されました」エラーは表示されません。
Windows 2008 R2、IIS 7.5、Windows 認証、偽装、および URL 認証を使用します。
以下は、私の web.config ファイルがどのように見えるかのサンプルです…
XML
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="iis7test\BobAndFriends" /> </authorization> </security> </system.webServer> <location path="bobsSecret.aspx"> <system.webServer> <security> <authorization> <remove users="" roles="iis7test\BobAndFriends" verbs="" /> <add accessType="Allow" users="iis7test\Bob" /> </authorization> </security> </system.webServer> </location> </configuration>
解決策 1
次のリンクが役に立つかもしれません
http://stackoverflow.com/questions/217678/how-to-generate-an-401-error-programmatically-in-an-asp-net-page[^]
解決策 2
web.config の httpErrors を使用することで解決しました。 サイトはカスタム エラー ページにリダイレクトされ、Windows 資格情報の入力を 3 回要求されなくなります。
XML
<system.webServer> <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File"> <remove statusCode="401" /> <error statusCode="401" path="/AccessDenied.aspx" responseMode="ExecuteURL" /> </httpErrors> </system.webServer>
[ad_2]
コメント