IIS 7:停用某些客戶端 IP 的身份驗證

IIS 7:停用某些客戶端 IP 的身份驗證

我有一個受基本驗證保護的虛擬目錄。我想停用某些 IP 的身份驗證,以便允許來自 127.0.0.1 等的所有請求,而無需詢問憑證。我怎樣才能做到這一點?

答案1

我無法找到一種內建的方法來實現這一點。我最終使用編寫了一個 IIS 模組Microsoft 的說明

此模組檢查用戶端的 IP 位址(使用HttpRequest.UserHostAddress),如果不在豁免清單中,則重新實作 Windows 帳戶的標準基本驗證(使用 APILogonUser並設定HttpContext.User為 a WindowsPrincipal)。從中讀取身份驗證網域和豁免 IP 位址清單web.config(使用ConfigurationManager.AppSettings)。

絆腳石包括:

  • 我想豁免伺服器本身,因此我將127.0.0.1伺服器的 IP 位址加入到豁免清單中,但也必須添加::1(IPv6 localhost)。
  • 我使用它來保護對 hgweb 的訪問,並且出於某種原因,我必須在啟用插件後將hgrcsallow_push行中的條目從username更改為 。DOMAIN\username

相關內容