ELMAH:ASP.NET 安全性

发布于 2024-07-26 10:32:35 字数 415 浏览 5 评论 0原文

我有一个使用 Visual Studio 开发服务器的 ASP.NET 3.5 应用程序。 我设置了 ELMAH,并且运行良好。 我将 AXD“文件”和 XML 文件(使用 XML 作为存储介质)设置在根目录下的文件夹中:

v3/elmah/

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

我相信这允许所有经过身份验证的用户。 我已尝试禁用对该目录的匿名访问,但该文件仍在提供服务。 我需要更改文件系统的安全性吗?

顺便说一句,这是 XP SP3。

谢谢大家!

I have an ASP.NET 3.5 application which is using the Visual Studio Development Server. I set ELMAH up, and it is working fine. I set up the AXD "file" and XML files (using XML as the storage medium) to be in a folder under the root:

v3/elmah/

Now, I'd like to have it so that when elmah or elmah/elmah.axd (or anything in this directory) is requested, that a username/password dialog is presented. Right now, I have this in the web.config:

Which is allowing all authenticated users, I believe. I've tried to disable anonymous access to that directory, but the file is still being served. Is there something I need to change in the Security of the file system?

BTW, this is XP SP3.

Thanks all!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

得不到的就毁灭 2024-08-02 10:32:35

您是否在 web.config 中添加了类似的内容?

<location path="admin/elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

web.config 中的 ELMAH 部分节点还有一个 requirePermission 属性。

<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>

更新以避免注释混乱:

在我的 web.config 中,我使用类似以下内容的内容:

<authentication mode="Forms">
    <forms loginUrl="Users/SignIn" 
           timeout="30"
           .. moreStuffHere />
</authentication>

Did you add something like this to your web.config?

<location path="admin/elmah.axd">
    <system.web>
      <authorization>
        <allow roles="Admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

There is also a requirePermission attribute available for the ELMAH section nodes in the web.config.

<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>

Update to avoid a mess in the comments:

In my web.config I use something like:

<authentication mode="Forms">
    <forms loginUrl="Users/SignIn" 
           timeout="30"
           .. moreStuffHere />
</authentication>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文