Обеспечение безопасности ELMAH при одновременном доступе к нему через RSS Reader

В нашем приложении мы используем регистрацию исключений ошибок ELMAH. Я хотел бы защитить ELMAH от обычных пользователей, но при этом сделать его доступным для администраторов / разработчиков приложения.

Когда вы устанавливаете безопасность с проверкой подлинности с помощью форм в файле web.config, вы теряете возможность доступа к RSS-каналу. Я хотел бы иметь возможность защитить ELMAH, но все же пройти аутентификацию в axd, чтобы иметь доступ к RSS-каналу (т.е. /elmah.axd/rss) из RSS-ридера.

Думая, что HTTP-аутентификация будет правильной, я, вероятно, смогу перейти к RSS-каналу со следующим синтаксисом URL-адреса http://username:[email protected]/elmah.axd/rss Я предполагаю, что вам нужно будет установить режим аутентификации = "windows" для этого конкретного пути в web.config. Однако возникает одна проблема: как установить учетные данные для виртуального файла?

Глядя на Google, мы возвращаемся к этой статье на CodeProject о том, как настроить аутентификацию. пересылка с печеньем. Это хорошее решение моей проблемы?

Есть ли другой лучший способ получить доступ к RSS-каналу, оставаясь при этом безопасным?

Спасибо.


person RedWolves    schedule 25.06.2009    source источник


Ответы (2)


Поддержка аутентификации HTTP и аутентификации с помощью форм на едином веб-сайте ASP.NET

По сути, вы добавляете в свой проект dll с именем MADAM, настраиваете свой web.config и настраиваете, какой файл (ы) вы хотите аутентифицировать как базовый вместо форм:

<configuration>
    <configSections>
        <sectionGroup name="madam">
            <section name="userSecurityAuthority" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <section name="formsAuthenticationDisposition" type="Madam.FormsAuthenticationDispositionSectionHandler, Madam" />
        </sectionGroup>
    </configSections>

    ...

    <madam>
        <userSecurityAuthority ... />

        <formsAuthenticationDisposition>
            <discriminators all="[true|false]">
                ...
            </discriminators>
        </formsAuthenticationDisposition>
    </madam>

    ...

    <system.web>
        <httpModules>
            <add name="FormsAuthenticationDisposition" type="Madam.FormsAuthenticationDispositionModule, Madam" />
            <add name="AuthenticationModule" type="MADAM Authentication Module Type" />
    </system.web>
</configuration>

Это было легко настроить, и моя проблема была решена: я мог аутентифицировать elmah.axd и при этом иметь возможность подписаться на RSS-канал с учетными данными для базовой аутентификации.

Боковое примечание MADAM написано тем же парнем, что написал ELMAH, совпадение?

person RedWolves    schedule 26.06.2009

Я полагаю, это зависит от клиента - я знаю некоторых настольных программ чтения (конечно, другие тоже ) поддерживают каналы, требующие аутентификации, и предоставляют поле входа в систему при первом запросе - хотя не уверен, что они делают за кулисами, чтобы заставить его работать.

person Zhaph - Ben Duguid    schedule 25.06.2009