【发布时间】:2013-03-05 19:20:46
【问题描述】:
在我的 web.config 文件中,我拥有运行 elmah 所需的所有对 elmah 的引用。除了这部分代码:
<location path="elmah.axd">
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
ReSharper 或 Visual Studio 都给了我错误:
未使用位置元素:在 elmah.axd 路径中找不到项目:未找到 Web 项目的路径\elmah.axd
我从 NuGet 安装了 elmah 包并保存了 dll,当我转到站点的根目录并键入 root/elmah.axd 时,我可以访问 elmah 日志;但是,我需要将这些日志的访问权限限制为管理员。
我有两个用户:管理员和用户我只希望具有管理员角色的用户访问 elmah 日志。
我错过了这个拼图的一部分吗?
【问题讨论】:
-
你在哪里得到错误?
-
当我打开我的 web.config 文件时,位置标签显示为灰色,当我将鼠标悬停在它上面时出现错误
-
你是如何安装 Elmah 的?如果您从包管理器控制台运行
Install-Package Elmah,您所要做的就是取消注释 web.config 中的那些授权行以使其工作。 -
我就是这样安装的。我从 NuGet 运行 Install-Package Elmah。它给了我授权行,但是我没有使用默认的 MVC 授权工具。我们必须通过外部资源对我们的应用程序进行授权,所以我需要只允许站点上的管理员访问 elmah 日志
-
您能否为您的用户调试
User.IsInRole("admin")并确保您确实设置了该角色?
标签: .net asp.net-mvc-3 exception-handling web-config elmah