8

设置:

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

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

问题:

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

问题:

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

我该怎么做呢?

4

2 回答 2

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" />
于 2012-10-26T16:03:03.923 回答
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>
于 2013-11-21T15:30:04.210 回答