【发布时间】:2011-10-19 08:15:21
【问题描述】:
我已经配置了 elmah,它运行良好。我也开始看到使用这种工具的好处。 现在,我只希望少数人能够访问 elmah.axd 文件,如果可能的话,我想在允许他们访问文件之前对他们进行身份验证。如果不使用 asp.net 内置身份验证,我该如何做到这一点。
【问题讨论】:
我已经配置了 elmah,它运行良好。我也开始看到使用这种工具的好处。 现在,我只希望少数人能够访问 elmah.axd 文件,如果可能的话,我想在允许他们访问文件之前对他们进行身份验证。如果不使用 asp.net 内置身份验证,我该如何做到这一点。
【问题讨论】:
Phil Haack wrote 很久以前的事了。
首先你可以在ELMAH HttpHandler部分的path属性中添加admin:
<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。
【讨论】:
这似乎是一个老问题
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...)
}
}
【讨论】: