使用web.config中的<location path =“XXX”>标记仅允许特定IP /域的未授权用户访问某些目录

时间:2016-07-25 07:57:09

标签: asp.net

我的ASP.Net应用程序中有一些文件夹需要访问而无需登录。为此我已经在我的web.config文件中设置了这个配置

 <location path="XXXX">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

现在我想限制&#34;路径&#34;仅从一个特定的IP地址或域进行匿名/未经授权的访问。如何设置此安全配置?

1 个答案:

答案 0 :(得分:1)

 <location path="XXXX">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
    <system.webServer>
        <security>
            <ipSecurity allowUnlisted="false">
                <clear/> 
                <add ipAddress="127.0.0.1" allowed="true"/>  <!-- change ip here-->
             </ipSecurity>
        </security>
    </system.webServer>
  </location>

注1 :您需要安装IP Secuity模块。可在此处找到:Windows功能/ Internet信息服务/万维网服务/安全/ IP安全

注2 :您需要在 applicationHost.config 中覆盖ipSecurity。您可以通过更改ipSecurity部分来更改此设置。

e.g。

<section name="ipSecurity" overrideModeDefault="Allow" />

applicationHost.config文件通常位于此处:C:\ Windows \ System32 \ inetsrv \ config

如果您无权访问此文件,那么您无法在不询问服务器管理员的情况下执行此操作。