我已经配置了elmah并且它工作正常。我也开始看到使用这种工具的好处。 现在,我只想让一些人访问elmah.axd文件,我想在允许他们访问文件之前对其进行身份验证。如何在不使用内置身份验证的asp.net的情况下执行此操作。
答案 0 :(得分:1)
首先,您可以将 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...)
}
}