2012-12-07 9 views
29

Ich habe Elmah for MVC mit NuGet installiert, ich bin in der Lage, mit erfolgreichem Fehler in der Datenbank anmelden. Das einzige Problem ist, dass ich nicht auf die URL /elmah zugreifen kann, um auf die Fehlerprotokollseite zuzugreifen.ELMAH - MVC 3 - 403 - Verboten: Zugriff verweigert

Hier Teil meiner Konfiguration, könnten Sie bitte darauf hinweisen, wenn ich eine Fehlkonfiguration habe?

Dank

ERROR

403 - Verboten: Zugriff verweigert.
Sie sind nicht berechtigt, dieses Verzeichnis oder diese Seite mit den von Ihnen angegebenen Anmeldeinformationen anzuzeigen.

In meinem 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> 

In 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 
     ); 
    } 
+0

Wie gehen Sie die Authentifizierung und Autorisierung? – jrummell

Antwort

44

(Das ist alles aus der Dokumentation/Einstieg)

Sie brauchen nicht auf die folgenden Linie:

routes.IgnoreRoute("elmah.axd"); 

Die nächste Zeile kümmert sich darum.

Alles, was Sie konfigurieren müssen, ist in Ihrer web.config Datei. Etwas wie:

sollten Sie gehen.

+0

Danke, ich benutze MVC bist du sicher, dass ich ? Danke – GibboK

+9

Es ist SEHR möglich, dass Emlah aktualisiert wurde und ich eine ältere Konfiguration verwende. Ich denke, der wichtige Teil ist der 'allowRemoteAccess' und stellt sicher, dass Sie als jrummell authentifiziert werden. –

+3

Für MVC verwenden Sie AppSettings mit Einträgen wie . Installieren Sie dieses NuGet und es wird Ihre Konfiguration entsprechend ändern: https://www.nuget.org/packages/Elmah.MVC – kape123

22

Nur für den Fall, dass jemand auf das gleiche Problem stößt, das ich hatte.

Dies war mein Code, der falsch ist:

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

Das Problem war die r in erlauben r emoteAccess, es in Kleinbuchstaben war, wenn es oben Fall gewesen sein sollte!

Korrekter Code:

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

Ich fühle deinen Schmerz. – Donnelle

+1

Große Hilfe, ich löse mein Problem mit , thx. –

+2

Gute Antwort! Während Elmah.MVC der web.config den Großteil der notwendigen Konfiguration hinzufügt, fehlt diese Zeile. –