web-dev-qa-db-ja.com

ELMAH-MVC 3-403-禁止:アクセスが拒否されました

NuGetを使用して Elmah for MVC をインストールしたので、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
        );
    }
34
GibboK

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

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

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>

うまくいくはずです。

49
Erik Philips

万が一、同じ問題に遭遇した場合に備えて。

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

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

問題はrが許可されましたr emoteAccess、大文字であるはずの小文字でした!

正しいコード:

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

Web.configへのリモートアクセスを追加しましたが、

<add key="elmah.mvc.allowedRoles" value="adminrole" />  

<elmah>
      <security allowRemoteAccess="true" />
      <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="DefaultConnection" />
      </elmah>

サーバーでElmah.Athz.configを編集し、elmahへのアクセスを許可する役割を追加する必要がありました。追加しなければならなかった^adminrole

1
davaus