如何在不更改代码的情况下拒绝并允许基于IP地址访问某些路径/目录/文件?

时间:2016-06-03 01:40:58

标签: asp.net iis

如何在不更改代码的情况下执行此操作?喜欢使用web.config或在IIS上?我发现它看起来像是在整个网站范围内。

1 个答案:

答案 0 :(得分:1)

为什么不使用角色并相应地为一组页面提供访问权限?

但是IIS中有一个 IP地址和域限制模块,可以在站点/文件夹/文件级别使用。

所以说你有一个托管在IIS上的网站 samplewebsite ,它有一个文件夹内容和一个文件 test.aspx

  1. 打开IIS管理器展开网站并选择文件夹
  2. 点击 IP地址和域名限制 =>在右侧,您可以看到添加允许输入/添加拒绝条目。
  3. 点击它会打开一个弹出窗口,您可以通过添加拒绝规则来添加规则以限制特定IP。
  4. 您在此处添加的规则将转到applicationhost.config(C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config)而不是您的web.config。示例拒绝规则将如下所示 -

    <location path="samplewebsite/Content">
        <system.webServer>
            <security>
                <ipSecurity>
                    <add ipAddress="10.0.0.1" allowed="false" />
                </ipSecurity>
            </security>
        </system.webServer>
    </location>
    

    如果你想为一个页面做同样的事情

    1. 打开IIS管理器展开网站并选择文件夹
    2. 现在,您可以在底部看到内容视图(有关内容视图的详细信息,请访问此处 - https://technet.microsoft.com/en-us/library /cc771124%28v=ws.10%29.aspx)。单击“内容视图”,将列出该文件夹中的所有文件。
    3. 右键单击要限制的文件,然后单击切换到功能视图。现在,您可以查看所有模块,并按照上述相同步骤添加规则。
    4. 我不确定这是否是最佳方法,因为建议在站点/服务器级别使用IP限制。