Iis

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

  • April 24, 2019

我有一個受基本身份驗證保護的虛擬目錄。我想禁用某些 IP 的身份驗證,以便允許來自例如 127.0.0.1 的所有請求而不要求提供憑據。我怎樣才能做到這一點?

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

該模組檢查客戶端的 IP 地址(使用HttpRequest.UserHostAddress),如果它不在豁免列表中,則重新實現 Windows 帳戶的標準基本身份驗證(使用LogonUserAPI 並設置HttpContext.User為 a WindowsPrincipal)。身份驗證域和豁免 IP 地址列表從web.config(使用ConfigurationManager.AppSettings)讀取。

絆腳石包括:

  • 我想豁免伺服器本身,所以我將127.0.0.1伺服器的IP地址添加到豁免列表中,但還必須添加::1(IPv6 localhost)。
  • 我正在使用它來保護對 hgweb 的訪問,由於某種原因,我不得不在啟用外掛後將hgrc’sallow_push行中的條目從username更改為。DOMAIN\username

引用自:https://serverfault.com/questions/215115