Asp.net mvc 4 Elmah.MVC 2.0.1-保护Elmah日志 设置:

Asp.net mvc 4 Elmah.MVC 2.0.1-保护Elmah日志 设置:,asp.net-mvc-4,elmah,elmah.mvc,Asp.net Mvc 4,Elmah,Elmah.mvc,对于ASP.NET MVC 4应用程序,我使用Elmah.MVC 2.0.1记录错误 我使用NuGet安装了Elmah.MVC。它很好用 问题: MVC包不安装任何控制器或区域,因此我看不到通过Authorize属性应用安全性的明显方法,这是ASP.NET MVC推荐的方法 问题: 我只希望管理员角色的用户能够查看Elmah页面 我该怎么做?哎哟 刚刚找到答案 Elmah MVC 2.0.1 NuGet包将以下内容添加到(在web.config中): 要实现我想要的,只需: <add

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

我使用NuGet安装了Elmah.MVC。它很好用

问题: MVC包不安装任何控制器或区域,因此我看不到通过Authorize属性应用安全性的明显方法,这是ASP.NET MVC推荐的方法

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

我该怎么做?

哎哟

刚刚找到答案

Elmah MVC 2.0.1 NuGet包将以下内容添加到
(在web.config中):


要实现我想要的,只需:

<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />

我相信您也可以像这样使用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>

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