在我的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日志。
我错过了这个难题的一块吗?
答案 0 :(得分:19)
没有错......这只是reSharper有点傻。因为它找不到具有该名称的物理文件,所以它认为它不存在并且会给出您看到的错误。
您可以使用ReSharper禁用注释来忽略它,如下所示:
<!-- ReSharper disable WebConfig.RedundantLocationTag -->
<!-- ReSharper disable WebConfig.WebConfigPathWarning -->
<location path="elmah.axd">
<!-- ReSharper restore WebConfig.WebConfigPathWarning -->
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
<!-- ReSharper restore WebConfig.RedundantLocationTag -->
但它看起来很丑陋; - )