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

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

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

Спасибо

ОШИБКА

403 - Запрещено: доступ запрещен.
У вас нет разрешения на просмотр этого каталога или страницы с указанными вами учетными данными.

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

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

person GibboK    schedule 07.12.2012    source источник
comment
Как вы обрабатываете аутентификацию и авторизацию?   -  person jrummell    schedule 07.12.2012


Ответы (3)


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

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

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>

Должен заставить тебя идти.

person Erik Philips    schedule 07.12.2012
comment
Спасибо, я использую MVC. Вы уверены, что мне следует использовать ‹location path = elmah.axd›? Спасибо - person GibboK; 07.12.2012
comment
ОЧЕНЬ возможно, что Emlah был обновлен, и я использую более старую конфигурацию. Я думаю, что важная часть - это allowRemoteAccess и убедиться, что вы аутентифицированы, как заметил jrummell. - person Erik Philips; 07.12.2012
comment
Для MVC вы будете использовать appSettings с такими записями, как ‹add key = elmah.mvc.route value = elmah /›. Установите этот NuGet, и он соответствующим образом изменит вашу конфигурацию: nuget.org/packages/Elmah.MVC < / а> - person nikib3ro; 12.10.2013
comment
Он сказал Elmah MVC. Показанные вами настройки предназначены не для MVC, а для более ранней версии elmah. Однако требуется строка разрешения удаленного доступа - person rolls; 07.01.2017
comment
Мне нужна была только эта строка ‹security allowRemoteAccess = yes /› спасибо - person Juan; 02.03.2017
comment
Это спасло меня тоже :) Однако в моем случае это ‹security allowRemoteAccess = 1 /› Я использую elmah 1.2.13605.0 - person Jhabar; 20.02.2018

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

Это был мой неправильный код:

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

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

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

<elmah>
    <security allowRemoteAccess="true" />
</elmah>
person ProxyTech    schedule 19.11.2014
comment
Отличная помощь, я решил свою проблему с помощью ‹security allowRemoteAccess = true /›, thx. - person Rod Lima; 23.10.2015
comment
Хороший ответ! Хотя Elmah.MVC добавляет большую часть необходимой конфигурации в web.config, эта строка отсутствует. - person Ben Cottrell; 08.06.2016
comment
Жертва r в нижнем регистре, примите мою благодарность и мой голос за. - person Drewman; 18.08.2016

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

person davaus    schedule 11.01.2019
comment
Боже, спас меня, чувак, полностью пропустил этот файл. Вот и все. Спасибо. - person Vedran Mandić; 15.07.2019