IIS 7:禁用某些客户端 IP 的身份验证

IIS 7:禁用某些客户端 IP 的身份验证

我有一个受基本身份验证保护的虚拟目录。我想禁用某些 IP 的身份验证,以便允许所有来自 127.0.0.1 的请求而无需输入凭据。我该怎么做?

答案1

我找不到内置方法来实现这一点。最后我使用以下方法编写了一个 IIS 模块:Microsoft 的说明

该模块检查客户端的 IP 地址(使用HttpRequest.UserHostAddress),如果它不在豁免列表中,则重新实现 Windows 帐户的标准基本身份验证(使用 APILogonUser并设置HttpContext.UserWindowsPrincipal)。身份验证域和豁免 IP 地址列表从中读取web.config(使用ConfigurationManager.AppSettings)。

障碍包括:

  • 我想豁免服务器本身,因此我将127.0.0.1服务器的 IP 地址添加到豁免列表中,但还必须添加::1(IPv6 localhost)。
  • 我正在使用它来保护对 hgweb 的访问,并且由于某种原因,在启用插件后,我必须将 行中的条目hgrcallow_push更改username为。DOMAIN\username

相关内容