在IIS7上使用web.config限制对子域的访问?

我需要使用IIS7上的web.config文件来密码保护服务器上的“dev”子域。 除了文件和web.config之外,我无法访问任何东西,所以我不能安装模块或其他任何类似的东西。 我已经检查了大约6个其他的答案,他们中的任何一个似乎都不能满足我所需要的,或者根本就不是。

子域不是根域的子文件夹,包含子域的文件夹是根域的兄弟,所以它就像“account / domain.com”和“account / dev.domain.com”。

我不在乎它是否使用密码或IP地址或cookie或其他什么,我只是想保护域名,所以只有在我正在开发的时候才能看到它。

我能够通过创build一个独立的web.config文件来保护子域,这个文件位于子域的web根目录(实际上是作为根域内的一个子目录)。 我认为这个解决scheme将适用于子域以及域的基本子目录。

在web.config文件中,我添加了以下内容。 为了清楚起见,我删除了多余/无关的指令,但是想要显示web.config文件的完整XML结构:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> </security> </system.webServer> </configuration> 

重要的部分是在身份validation部分添加两个身份validation指令(驻留在configuration> system.webServer>安全性中)。

请注意,这种方法需要我使用托pipe服务提供的主要“服务器”login,我无法手动指定要使用的用户名和密码。

如果您需要快速保护IIS7服务器上的子目录或子域,这应该可以做到。 我相信您需要使用的证书是您用来访问FTP服务器的证书,但我不确定这些证书是否与每个人的“托pipe控制面板”证书相同,或者只是针对我的主机。