Web.config:允许在机器级别的给定路径上的所有用户

时间:2015-03-06 07:49:42

标签: asp.net .net web-config

我已在计算机级别成功设置Elmah,以便为所有Web应用程序记录错误。现在我想将每个应用程序的RSS提要添加到Outlook。问题是应用程序是安全的,并且不允许Outlook访问RSS提要(在my.web.application.com/elmah.axd/rss上)。由于我不能要求Outlook登录应用程序,我认为我可以通过以下配置访问elmah路径中的任何人并通过IP地址限制(实际上限制到我们的本地网络): / p>

<location path="elmah.axd">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
    <system.webServer>
        <security>
            <ipSecurity allowUnlisted="false">
                <clear/>
                <add ipAddress="127.0.0.1" allowed="true" />
                <add ipAddress="10.0.0.0" allowed="true" subnetMask="255.255.255.0" />
            </ipSecurity>
        </security>
    </system.webServer>
</location>

当放入应用程序的Web.config时,这实际上有效:我可以在不登录的情况下访问elmah.axd页面。完​​美。现在我想在机器级别执行此操作,因此每个应用程序的行为都相同。所以我把它放在我放置Elmah配置的相同位置,即:

  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \配置\ web.config中
  • C:\的Windows \ Microsoft.NET \ Framework64 \ V2.0.50727 \ CONFIG \ web.config中
  • C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config(IIS config)

尽管将配置放在那里让Elmah对每个Web应用程序做出响应,但它并不适用于该安全配置:应用程序仍然要求登录...我需要做什么才能使它在机器级别工作?< / p>

在机器级web.config中,路径是否与应用程序无关?但是我怎么能让它运作起来呢? (我也试过〜/ elmah.axd没有成功......)

1 个答案:

答案 0 :(得分:0)

检查每个应用程序配置中的覆盖。

  

本地配置设置会覆盖父级中的设置   配置文件。

来源:https://msdn.microsoft.com/en-us/library/ms178685%28v=vs.140%29.aspx