我读了这篇文章来实现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文件.......我有疑问。请一些人指导我。
答案 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/