Ограничить доступ к ELMAH с помощью настраиваемого RoleProvider

в моем mvc-проекте я настроил ELMAH для обработки исключений. ELMAH поставляется с внешним интерфейсом, доступ к которому можно получить через "/elmah.axd".

В web.config это настроено так:

<location path="elmah.axd">  
        <system.web>
            <httpHandlers>
                <add verb="POST,GET,HEAD" 
                     path="elmah.axd" 
                     type="Elmah.ErrorLogPageFactory, Elmah" />
            </httpHandlers>

            <authorization>
              <allow roles="ADMIN" /> <!-- instead i want to use 'permission' from my custom RoleProvider -->
              <deny users="*"/> 
            </authorization>
        </system.web>
        <system.webServer>
            <handlers>
                <add name="ELMAH" 
                     verb="POST,GET,HEAD"
                     path="elmah.axd" 
                     type="Elmah.ErrorLogPageFactory, Elmah"
                     preCondition="integratedMode" />
            </handlers>
        </system.webServer>
    </location>  

Если бы я использовал стандартный RoleProvider, я бы использовал авторизацию, как указано в примере выше. Но поскольку у меня есть собственный RoleProvider, я не могу / не знаю, как это сделать. Для моих представлений я реализовал настраиваемый атрибут аутентификации, который очень похож на атрибут [Authorize] (но вместо этого принимает разрешения ...). Теперь я хочу указать доступность для elmah.axd (который не является физическим файлом) с помощью моего настраиваемого RoleProvider.

Кто-нибудь знает, как я могу достичь своей цели?


person r3try    schedule 27.02.2013    source источник


Ответы (1)


здесь кажется жизнеспособным подходом .. .

person r3try    schedule 07.03.2013
comment
Страница больше не существует. - person Chris; 27.01.2018