对于ASP.NET MVC 4应用程序,我使用Elmah.MVC 2.0.1来记录错误。
我使用NuGet安装了Elmah.MVC。它工作正常。
Elmah.MVC软件包不安装任何控制器或区域,因此我没有看到通过Authorize属性应用安全性的明显方法,如ASP.NET MVC所推荐的那样。
我只希望管理员角色的用户能够查看Elmah页面。
我该怎么做?
答案 0 :(得分:15)
哎哟!
刚刚找到答案;
Elmah MVC 2.0.1 NuGet包将以下内容添加到<appSettings>
(在web.config中):
<add key="elmah.mvc.requiresAuthentication" value="false" />
<add key="elmah.mvc.allowedRoles" value="*" />
为了达到我想要的目的:
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
答案 1 :(得分:0)
我相信你也可以使用这样的URL访问控制:
<location path="elmah.axd">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<authorization>
<allow roles="YourRole" />
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>