【问题标题】:Elmah.MVC 2.0.1 - securing the elmah logsElmah.MVC 2.0.1 - 保护 elmah 日志
【发布时间】:2012-10-16 21:54:54
【问题描述】:

设置:

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

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

问题:

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

问题:

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

我该怎么做?

【问题讨论】:

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


    【解决方案1】:

    哎哟!

    刚刚找到答案;

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-12-31
        • 1970-01-01
        • 2013-07-14
        • 2011-08-29
        • 1970-01-01
        • 2018-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多