【问题标题】:IIS 7 how to preserve website subfolder Authentication settingsIIS 7 如何保留网站子文件夹身份验证设置
【发布时间】:2013-07-23 15:09:35
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    或者在每个子文件夹中创建一个web.config 以使用几乎相同的方式进行保护(除了没有&lt;location&gt; 标签:

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

    如果收到如下错误:

    执行此操作时出错。

    详情:

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

    行号:15

    错误:此配置部分不能用于此路径。这 当该部分被锁定在父级别时发生。锁定是 默认情况下 (overrideModeDefault="Deny"),或由 带有 overrideMode="Deny" 或旧版的位置标签 allowOverride="false"。

    那么这意味着&lt;anonymousAuthentication&gt;&lt;basicAuthentication&gt;的配置设置还没有被委派读/写权限。

    您可以通过启动 IIS 管理器并打开功能委托管理器来进行调整:

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

    右键单击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

    【讨论】:

    • 谢谢凯夫。我尝试了两种方法。但是,当我转到 IIS 管理器并尝试查看该文件夹的身份验证详细信息时,我收到一条错误消息,提示此配置部分不能在此路径上使用,并且必须在父级别锁定,等等。这是 .net machine.config 的限制吗?
    • @ravinsp - 我已经更新了我的答案,让我知道你的进展情况。
    • 感谢更新的答案。现在可以了!也感谢文章链接。
    • 很好的答案!功能委派不是一个明显的 IIS 功能
    猜你喜欢
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    相关资源
    最近更新 更多