35

NuGet を使用して MVC 用の Elmah をインストールしました。dbで成功エラーが発生してログインできます。/elmah唯一の問題は、エラー ログ ページにアクセスするための URL にアクセスできないことです。

ここに私の構成の一部がありますが、構成に誤りがある場合は指摘していただけますか?

ありがとう

エラー

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
        );
    }
4

3 に答える 3

50

(これはすべてドキュメント/入門からのものです)

次の行は必要ありません。

routes.IgnoreRoute("elmah.axd");

次の行がそれを処理します。

設定に必要なものはすべてweb.configファイルにあります。何かのようなもの:

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

あなたが行く必要があります。

于 2012-12-07T15:31:58.420 に答える
34

誰かが私と同じ問題に遭遇した場合に備えて。

これは私のコードで、間違っています:

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

問題は、allow remoteAccess の rでした。大文字であるべきところが小文字でした。

正しいコード:

<elmah>
    <security allowRemoteAccess="true" />
</elmah>
于 2014-11-19T16:09:00.950 に答える