ELMAH - MVC 3 - 403 - 禁止访问:访问被拒绝

时间:2012-12-07 15:24:34

标签: asp.net-mvc elmah elmah.mvc

我已经使用NuGet安装了Elmah for MVC,我能够在db中登录成功错误。 唯一的问题是我无法访问/elmah URL来访问错误日志页面。

这是我配置的一部分,如果我有任何错误配置,请指出一下吗?

由于

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

3 个答案:

答案 0 :(得分:48)

(这完全来自文档/入门)

您不需要以下一行:

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>

应该让你去。

答案 1 :(得分:29)

万一有人遇到同样的问题。

这是我的代码,这是错误的:

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

问题是允许 r emoteAccess中的 r ,它是小写的,应该是大写的!

正确的代码:

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

答案 2 :(得分:0)

即使我已将远程访问添加到我的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