如何限制对Elmah的远程访问?

时间:2011-07-21 15:46:26

标签: .net asp.net elmah

在我们的开发网络服务器上安装了Elmah ..我们可以限制远程访问它的人吗?即使我们硬编码用户名/密码(哈希?)还是仅通过IP?

3 个答案:

答案 0 :(得分:24)

有两种设置,一种是<elmah>

<elmah>
    <security allowRemoteAccess="1"/>
</elmah>

另一种是,如果您允许远程访问,则可以使用<location>来控制访问者:

  <location path="elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Administrator"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

您可以在</runtime>标记

之后将其放在主web.config中

答案 1 :(得分:4)

我知道它有点晚了,但是为了将来参考,除了通过allowRemoteAccess打开访问权限之外还有更多内容。我几乎在几个月前撰写了这篇博文ELMAH security and allowRemoteAccess explained时,确实陷入了保护ELMAH的困境。

我不认为这个问题的任何答案都是错误的,但根据所使用的技术,还有更多选择。如果运行ASP.NET,通过authorization元素进行保护绝对是可行的方法。不过,现在很多人都在运行MVC。 Alexander Beletsky写了一篇名为Elmah.MVC的优秀软件包。使用这个软件包,使用MVC中的ELMAH解决所有问题就会消失。使用该软件包时,使用许多自定义应用程序设置也很容易保护ELMAH:

<appSettings>
    <add key="elmah.mvc.requiresAuthentication" value="true" />
    <add key="elmah.mvc.allowedRoles" value="Admin" />
    <add key="elmah.mvc.allowedUsers" value="Thomas" />
</appSettings>

答案 2 :(得分:2)

您可以在web.config中确保这一点(如果您确实希望生产网站上的任何人都可以访问它) 看到: How to secure Elmah.axd?

显然要更改你的&lt; allow users = ....&gt;到适当的值