如何在不使用内置身份验证的情况下限制对elmah的访问?

时间:2011-10-19 08:15:21

标签: asp.net elmah

我已经配置了elmah并且它工作正常。我也开始看到使用这种工具的好处。 现在,我只想让一些人访问elmah.axd文件,我想在允许他们访问文件之前对其进行身份验证。如何在不使用内置身份验证的asp.net的情况下执行此操作。

2 个答案:

答案 0 :(得分:1)

很久以前菲尔哈克wrote

首先,您可以将 admin 添加到ELMAH HttpHandler部分的path属性中:

<httpHandlers>
  <add verb="POST,GET,HEAD" path="/admin/elmah.axd" 
    type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>

然后限制匿名访问该文件夹:

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

更多信息here

答案 1 :(得分:0)

这似乎是个老问题

How to provide only Access for ELMAH.axd for Administrator login in web

为我提供了答案

protected void Application_BeginRequest()
{
    if(Request.Url.AbsolutePath.ToLowerInvariant().Contains("elmah.axd"))
    {
        // Check if user can see elmah and handle unauthorised users (return 401/redirect to login page/etc...)
    }
}