ELMAH:ASP.NET安全性

Ste*_*ams 4 asp.net security elmah

我有一个使用Visual Studio开发服务器的ASP.NET 3.5应用程序.我设置ELMAH,它工作正常.我将AXD"文件"和XML文件(使用XML作为存储介质)设置在根目录下的文件夹中:

V3/ELMAH /

现在,我想拥有它,以便在请求elmah或elmah/elmah.axd(或此目录中的任何内容)时,会显示用户名/密码对话框.现在,我在web.config中有这个:

我相信哪个允许所有经过身份验证的用户.我试图禁用对该目录的匿名访问,但该文件仍在提供.我需要在文件系统的安全性方面做些什么改变吗?

顺便说一句,这是XP SP3.

谢谢大家!

blu*_*blu 5

你有没有在web.config中添加这样的东西?

<location path="admin/elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
Run Code Online (Sandbox Code Playgroud)

在web.config中还有一个requirePermission属性可用于ELMAH节节点.

<sectionGroup name="elmah">
  <section name="security" requirePermission="true" type="Elmah.SecuritySectionHandler, Elmah" />
  <section name="errorLog" requirePermission="true" type="Elmah.ErrorLogSectionHandler, Elmah" />
  <section name="errorMail" requirePermission="true" type="Elmah.ErrorMailSectionHandler, Elmah" />
  <section name="errorFilter" requirePermission="true" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)

更新以避免评论中的混乱:

在我的web.config中我使用类似的东西:

<authentication mode="Forms">
    <forms loginUrl="Users/SignIn" 
           timeout="30"
           .. moreStuffHere />
</authentication>
Run Code Online (Sandbox Code Playgroud)