[英]How to disable IIS credentials in ASP.NET
有沒有一種方法可以根據傳遞的參數在global.asax或其他位置禁用IIS默認身份驗證。
客戶端請求使用IIS身份驗證並通過在POST變量中提供身份驗證信息來保護相同形式的安全
IIS身份驗證在將請求傳遞到ASP.NET實例之前進行。 因此,您的問題的答案是“否”。
但是,通過僅在IIS上啟用匿名訪問,您可以處理應用程序中的任何身份驗證(包括Basic等),而不會受到IIS的“攔截”。
這不是一個完整的答案,但可能會為您指明方向。 如果您使用的是IIS 7,則HttpModules現在是IIS固有的。 也就是說,無論提供哪種類型的內容,您都可以獲取IIS使用的IHttpModule接口的實現。
我懷疑您可以連接這樣的HttpModule,以便它會在IIS由於Windows身份驗證失敗而使請求失敗時發出通知。 如果可能,那么您仍然可以檢查POST變量並為請求提供“第二次機會”。
我還想知道IIS 7是否有可能解決這個問題-讓主站點使用匿名身份驗證,以便您的代碼可以檢查POST參數形式。 如果該身份驗證失敗,則重定向到Windows身份驗證站點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.