为特定用户或组启用 IIS 目录浏览

为特定用户或组启用 IIS 目录浏览

在家里,我有一个运行在 Windows Server 2012 和 IIS8(无 AD)上的小型服务器。我希望服务器上的某些用户能够访问共享文件目录,以便他们可以通过 https 下载它。

我在 IIS 管理器中创建了一个网站,将基本目录设置为共享文件夹,启用了该网站的目录浏览,禁用了匿名身份验证并启用了 Windows 身份验证。互联网访问和带有签名证书的 https 也已配置并正常运行。

到目前为止一切顺利。当我浏览我的服务器时,系统会要求我提供凭证(很好)。不幸的是,全部的本地服务器用户被允许访问该文件夹,即使是内置的来宾帐户(不好)。现在我想限制一些我放在名为 的组中的用户的访问权限WebFiles Users。所以我尝试了我从网络编程中学到的东西 - 我向 添加了authorization标签,web.config现在看起来像这样:

<configuration>
    <system.web>
        <authorization>
            <allow roles="MyServer\WebFiles Users" />
            <deny users="*" />
        </authorization>
    </system.web>

    <!-- this was created by the IIS manager: -->
    <system.webServer>
        <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

但它不起作用。我仍然可以用访客用户身份访问网站。有人能告诉我我做错了什么吗?

答案1

system.web 适用于托管 asp.net 内容,而不是静态文件。

您想改用 system.webserver。节点:

 <configuration>
     <system.webServer>
         <security>
             <authorization>

应该涵盖这一点。

在 IIS 管理器中,不要使用 ASP.NET 部分,而是使用 IIS 部分,然后使用“授权规则”图标。

相关内容