【问题标题】:How can I restrict remote access to Elmah?如何限制对 Elmah 的远程访问?
【发布时间】:2011-07-21 15:46:26
【问题描述】:

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

【问题讨论】:

    标签: .net asp.net elmah


    【解决方案1】:

    有两种设置,一种在<elmah>:

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

    另一个是,如果你允许远程访问,你可以使用&lt;location&gt;来控制谁访问它:

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

    您可以将它放在主 web.config 中,紧跟在 &lt;/runtime&gt; 标记之后

    【讨论】:

    • 我希望这个信息可以为一些人节省几分钟: 标签应该放在right under <configuration>。对我来说,我把它放在 之后
    • 我总是把我的放在底部,就在我上面提到的&lt;/runtime&gt; 标签之前。这为我提供了一个一致的位置来查找这些访问控制标签(我通常会为网站的管理区域和任何其他受保护的系统提供一个)。无论如何,感谢您的反馈,希望您的 cmets 能帮助人们在遇到错误之前内化这里所说的内容。
    【解决方案2】:

    我知道这有点晚了,但为了将来参考,它不仅仅是通过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>
    

    【讨论】:

      【解决方案3】:

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

      显然将您的 更改为适当的值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-13
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 1970-01-01
        • 1970-01-01
        • 2012-06-16
        相关资源
        最近更新 更多