您正在尝试保护elmah只能从名为admin:/ admin / area
的mvc区域内访问我已将以下内容添加到路由配置的顶部,因此它们首先出现:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("admin/elmah.axd/{*pathInfo}");
并在system.web和system.webServer:
下的web.config中进行以下操作 <handlers>
...
<add verb="POST,GET,HEAD" path="/admin/elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</handlers>
然而我一直在:
The controller for path '/admin/elmah.axd' could not be found.
似乎路线没有被忽略?
答案 0 :(得分:1)
Elmah.MVC nuget可能会有所帮助。
在版本2.0.0之前(例如1.3.2),它添加了一个名为“admin”的区域,并在其中添加了一个名为“elmah”的控制器。因此,您可以从web.config中删除带有“elmah.axd”的处理程序,并仍然可以访问“/ admin / elmah”上的elmah。 然后,您可以通过向elmahcontroller添加autorize属性来保护此路由。
在版本&gt; 2.0.0它已更改为不添加名为admin的区域。而是在“/ elmah”上访问elmah。 版本&gt; 2.0.0还会自动从web.config中删除elmah.axd。