如何确保Elmah使用ASP.NET和IIS 5.1 URL路由

时间:2010-02-23 19:43:15

标签: .net asp.net asp.net-mvc iis elmah

此问题建立在以下问题的基础上: How to get Elmah working with ASP.NET and IIS 5.1 URL Routing

解决方案建议有效,只要elmah.axd不在网站的根目录下。如果您想以此处博客保护网站该怎么办: Securely Implement ELMAH For Plug And Play Error Logging

将elmah.axd移至/admin/elmah.axd会破坏修复IIS 5x通配符映射模块。

我的解决方法只是确保“elmah.axd”而不是“admin”,如:

<location path="elmah.axd">
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
</location>

虽然这有效,但我觉得必须有一个更优雅的解决方案。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

你也可以将elmah.axd重命名为不太明显的东西。该名称可在web.config中配置。

答案 1 :(得分:1)

这与我在项目中使用的解决方案相同。任何更“优雅”的东西都会变得更加复杂和不必要。

这样做很简单,如果我是你,我会保持这样: - )

答案 2 :(得分:1)

添加到@Todd Smith的答案:

如果要重命名elmah.axd,您需要做的就是更改处理程序中的名称。

<add name="Elmah" path="ANY_NAME_YOU_LIKE.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah"/>