IIS 7如何保留网站子文件夹身份验证设置

时间:2013-07-24 08:37:09

标签: asp.net authentication iis web-config iis-7.5

在IIS中,您可以使用“功能”视图设置文件夹级设置(请参见屏幕截图)。我想为我的网站的几个子文件夹禁用匿名身份验证,并将这些设置保存到源代码管理。我想知道IIS保存这些设置的位置。它们不在web.config网站或子文件夹中的web.config中。无论如何我可以使用源代码保存IIS设置,还是我必须在每次新部署时执行这些任务?

Setting folder authentication

1 个答案:

答案 0 :(得分:3)

为您要保护的每个文件夹将以下内容添加到根web.config

<location path="secure_folder">
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <basicAuthentication enabled="true" />
            </authentication>
        </security>
    </system.webServer>
</location>

以上假设您使用的是基本身份验证。

或者在每个子文件夹中创建web.config以保护几乎相同(除了没有<location>标记:

<system.webServer>
    <security>
        <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" />
        </authentication>
    </security>
</system.webServer>

如果收到错误,例如:

  

执行此操作时出错。

     

详细信息:

     

文件名:\?\ d:\ sites \ play1 \ www \ web.config

     

行号:15

     

错误:此配置部分不能在此路径中使用。这个   当该部分被锁定在父级别时发生。锁定是   默认情况下(overrideModeDefault =“Deny”),或由a显式设置   使用overrideMode =“Deny”或遗留的位置标记   有的allowOverride = “假”。

然后,这意味着<anonymousAuthentication><basicAuthentication>的配置设置尚未被委派读/写权限。

您可以通过启动IIS管理器并打开功能委派管理器来调整此项:

enter image description here

执行此操作时,您将看到可以控制的功能列表及其委派状态:

enter image description here

右键点击Authentication - Anonymous,然后选择Read/Write。对Authentication - Basic执行相同的操作。

此功能委派设置将全局应用于服务器上的所有站点,但是可以使用自定义站点委派将其微调到特定站点。

您可以在此处阅读有关IIS 7.x / 8.0功能委派的更多信息:

  

http://www.iis.net/learn/manage/managing-your-configuration-settings/an-overview-of-feature-delegation-in-iis