2012-12-07 85 views
29

我已經使用NuGet安裝了Elmah for MVC,我可以在db中以成功錯誤登錄。 唯一的問題是我無法訪問/elmah URL來訪問錯誤日誌頁面。ELMAH - MVC 3 - 403 - 禁止:訪問被拒絕

這裏是我的配置的一部分,請指出我是否有任何配置錯誤?

感謝

ERROR

403 - 禁止訪問:訪問被拒絕。
您無權使用您提供的憑據查看此目錄或頁面。

在我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> 

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

你是如何處理身份驗證和授權? – jrummell

回答

44

(這是所有從文檔/入門)

你不需要以下line:

routes.IgnoreRoute("elmah.axd"); 

下一行處理它。

您需要配置的所有內容都位於您的web.config文件中。例如:

應該讓你去。

+0

謝謝,我使用MVC你確定我應該使用?謝謝 – GibboK

+9

Emlah很可能已更新,我使用的是較舊的配置。我認爲最重要的部分是'allowRemoteAccess',並確保您按照jrummell的說明進行身份驗證。 –

+3

對於MVC,您將使用appSettings,例如。安裝這個NuGet,它會適當地修改你的配置:https://www.nuget.org/packages/Elmah.MVC – kape123

22

只是爲了防止任何人遇到同樣的問題,我有。

這是我的代碼,這是錯誤的:

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

的問題是[R在允許[R emoteAccess,它是在較低的情況下,它應該是大寫!

正確的代碼:

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

我感到你的痛苦。 – Donnelle

+1

偉大的幫助,我解決了我的問題與,thx。 –

+2

很好的答案!雖然Elmah.MVC將大部分必要的配置添加到web.config中,但此行缺失。 –