ASP.Net MVC:elmah.axd只能用于管理员角色

时间:2017-12-12 08:20:39

标签: asp.net-mvc elmah.mvc

我读了这篇文章来实现elmah http://www.c-sharpcorner.com/UploadFile/858292/exception-logging-in-mvc-using-elmah/

但我想只有具有管理员角色的授权人才能看到elmah.axd文件。我怎么能这样做?指导我。

我找到了一种用管理员角色附加elmah.axd文件的方法。这是代码

https://blog.elmah.io/elmah-tutorial/

<location path="elmah.axd">
    <system.web>
        <httpHandlers>
            <add verb="POST,GET,HEAD"
                 path="elmah.axd"
                 type="Elmah.ErrorLogPageFactory, Elmah" />
        </httpHandlers>
        <authorization>
            <allow roles="admin" />
            <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>

告诉我上面的方法是保护elmah.axd文件以获得管理员角色的唯一方法。

来自此链接https://blog.elmah.io/elmah-security-and-allowremoteaccess-explained/

我找到了这个

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

如果我在web.config文件中添加上述条目,那么除了admin角色之外的任何授权用户都无法访问elmah.axd文件.......我有疑问。请一些人指导我。

1 个答案:

答案 0 :(得分:0)

正如我从文档中理解的那样,第一个例子是ASP.NET的通用解决方案。这与MVC有一些问题,特别是与MVC的HandleErrorAttribute以及获取自定义错误。

第二个例子是Elmah.MVC,一个专门用于ASP.NET MVC的软件包。这是在使用MVC框架时建立Elmah的推荐方法。

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

ASP.NET MVC怎么样?

     

ELMAH最初是为ASP.NET创建的。不同的功能   在ASP.NET MVC中可用已经引起了很大的麻烦   自2007年推出以来。你们中的一些人可能已经挣扎过了   MVC的HandleErrorAttribute以及获取自定义错误和ELMAH   同时工作。 2011年,Alexander Beletsky创立了   Elmah.MVC包帮助MVC开发人员使用ELMAH。我们很高兴   建议MVC项目使用这个包,因为它删除了很多   人们对MVC和ELMAH的挫败感。

https://blog.elmah.io/elmah-security-and-allowremoteaccess-explained/