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
);
}
(これはすべてのドキュメント/開始からのものです)
次の行は必要ありません。
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>
うまくいくはずです。
万が一、同じ問題に遭遇した場合に備えて。
これは私のコードでしたが、間違っています:
<elmah>
<security allowremoteAccess="true" />
</elmah>
問題はrが許可されましたr emoteAccess、大文字であるはずの小文字でした!
正しいコード:
<elmah>
<security allowRemoteAccess="true" />
</elmah>
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