Elmah.MVC 2.0.1 - 保护elmah日志

时间:2012-10-26 15:51:05

标签: asp.net-mvc-4 elmah elmah.mvc

设定:

对于ASP.NET MVC 4应用程序,我使用Elmah.MVC 2.0.1来记录错误。

我使用NuGet安装了Elmah.MVC。它工作正常。

问题:

Elmah.MVC软件包不安装任何控制器或区域,因此我没有看到通过Authorize属性应用安全性的明显方法,如ASP.NET MVC所推荐的那样。

问题:

我只希望管理员角色的用户能够查看Elmah页面。

我该怎么做?

2 个答案:

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