asp.net-mvc elmah elmah.mvc

asp.net mvc - ELMAH-MVC 3-403-Prohibido: acceso denegado



asp.net-mvc elmah.mvc (2)

He instalado Elmah para MVC usando NuGet, puedo iniciar sesión con error de éxito en el db. El único problema es que no puedo acceder a la URL /elmah para acceder a la página de registro de errores.

Aquí, parte de mi configuración, ¿podría indicar si tengo alguna configuración incorrecta?

Gracias

ERROR

403 - Prohibido: Acceso denegado.
No tiene permiso para ver este directorio o página con las credenciales que proporcionó.

En mi web.config :

<appSettings> <add key="webpages:Version" value="1.0.0.0" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="elmah.mvc.disableHandler" value="false" /> <add key="elmah.mvc.disableHandleErrorFilter" value="false" /> <add key="elmah.mvc.requiresAuthentication" value="true" /> <add key="elmah.mvc.allowedRoles" value="Administrator" /> <add key="elmah.mvc.route" value="elmah" /> </appSettings>

En global.asax :

public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("elmah.axd"); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); }


(Esto es todo desde la documentación / cómo comenzar)

No necesitas la siguiente línea:

routes.IgnoreRoute("elmah.axd");

La siguiente línea se ocupa de ello.

Todo lo que necesita configurar está en su archivo web.config . Algo como:

<elmah> <security allowRemoteAccess="yes" /> <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="mySqlConnString" /> </elmah> <location path="elmah.axd"> <system.web> <authorization> <allow roles="Administrator" /> <deny users="*" /> </authorization> </system.web> </location>

Debería ponerte en marcha.


En caso de que alguien se encuentre con el mismo problema que tuve.

Este era mi código, que está mal:

<elmah> <security allowremoteAccess="true" /> </elmah>

El problema era el r en allow r emoteAccess, estaba en minúsculas, ¡cuando debería haber sido en mayúsculas!

Código correcto:

<elmah> <security allowRemoteAccess="true" /> </elmah>