Подтвердить что ты не робот

ELMAH - MVC 3 - 403 - Запрещено: доступ запрещен

Я установил Elmah для MVC с помощью NuGet, я могу войти с ошибкой успеха в db. Единственная проблема заключается в том, что я не могу получить доступ к URL /elmah для доступа к странице журнала ошибок.

Вот часть моей конфигурации, не могли бы вы указать, есть ли у меня какая-то неправильная конфигурация?

Спасибо

ОШИБКА

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

Ответ 1

(Все это из документации/начала работы)

Вам не нужна следующая строка:

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>

Должно получиться.

Ответ 2

На всякий случай кто-то сталкивается с той же проблемой, что и я.

Это был мой код, что неверно:

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

Проблема заключалась в r в разрешении r emoteAccess, это было в нижнем регистре, когда оно должно быть в верхнем регистре!

Правильный код:

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

Ответ 3

Хотя я добавил удаленный доступ к своему 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