Zabezpieczenie ELMAH a jednocześnie umożliwienie dostępu do niego poprzez czytnik RSS

Używamy elmah error exception logowania w naszej aplikacji. Chciałbym zabezpieczyć ELMAH przed zwykłymi użytkownikami, jednocześnie udostępniając go administratorom / programistom aplikacji.

Podczas ustawiania zabezpieczeń za pomocą uwierzytelniania formularzy w sieci.config tracisz wtedy możliwość dostępu do kanału RSS. Chciałbym być w stanie zabezpieczyć ELMAH, ale nadal przejść przez uwierzytelnianie do axd, aby móc uzyskać dostęp do kanału RSS (np. / elmah.axd/rss) z czytnika RSS.

Myśląc, że uwierzytelnianie http byłoby właściwe, ponieważ wtedy prawdopodobnie mogę dostać się do kanału rss z następującą składnią url http://username:[email protected]/elmah.axd/rss zakładam, że musisz ustawić authentication mode = "windows" na tej konkretnej ścieżce w sieci.config. Pojawia się jednak jeden problem: jak ustawić poświadczenia na pliku wirtualnym?

Patrząc na Google przywołuje artykuł na temat CodeProject o tym, jak skonfigurować uwierzytelnianie passthrough z ciasteczkami. Czy to dobre rozwiązanie mojego problemu?

Czy jest inny sposób, aby lepiej mieć dostęp do kanału RSS, jednocześnie będąc bezpiecznym?

Dzięki.
Author: RedWolves, 2009-06-26

2 answers

Obsługa uwierzytelniania HTTP i uwierzytelniania formularzy w jednym ASP.NET Strona www

W zasadzie dodajesz dll o nazwie MADAM do swojego projektu Dostosuj swoją stronę.konfiguracja i konfiguracja plików, które chcesz uwierzytelnić jako podstawowe zamiast formularzy:

<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>
To było łatwe do skonfigurowania i rozwiązało mój problem bycia w stanie uwierzytelnić elmah.axd i nadal mieć możliwość subskrybowania kanału RSS z podstawowymi poświadczeniami uwierzytelniania.

Uwaga boczna jest napisana przez tego samego faceta, który napisał ELMAH, zbieg okoliczności?

 12
Author: RedWolves,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-26 21:21:54

Zależy od Klienta, chyba - wiem Niektóre czytniki desktopowe (pewnie inni też) obsługują kanały, które wymagają uwierzytelnienia i dostarczają pole logowania przy pierwszym żądaniu - Nie wiem, co robią za kulisami, aby to działało.

 1
Author: Zhaph - Ben Duguid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-25 22:18:10