Domanda

Utilizziamo la registrazione delle eccezioni di errore ELMAH nella nostra applicazione. Vorrei proteggere ELMAH dagli utenti regolari, rendendolo comunque disponibile agli amministratori / sviluppatori dell'applicazione.

Quando si imposta la sicurezza con l'autenticazione dei moduli in web.config, si perde la possibilità di accedere al feed RSS. Mi piacerebbe essere in grado di proteggere ELMAH ma ancora passare l'autenticazione ad axd per poter accedere al feed RSS (ovvero /elmah.axd/rss) da un lettore RSS.

Pensando che l'autenticazione http sarebbe corretta dato che probabilmente potrei arrivare al feed rss con la seguente sintassi dell'URL http: // nome utente: password@somedomain.com/elmah.axd/rss Suppongo che dovresti impostare la modalità di autenticazione = " windows " su quel percorso specifico in web.config. Viene comunque visualizzato un problema: come si impostano le credenziali su un file virtuale?

Guardare Google riporta questo su CodeProject su come impostare il passthrough di autenticazione con i cookie. È una buona soluzione al mio problema?

Esiste un altro modo per poter accedere al feed RSS pur essendo sicuri?

Grazie.

È stato utile?

Soluzione

Supporting Authentication HTTP and Forms Authentication in a Single ASP.NET Web Site

Fondamentalmente aggiungi una dll chiamata MADAM al tuo progetto regola il tuo web.config e configura quali file vuoi autenticare come Basic anziché Forms:

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

Questo è stato facile da configurare e ha risolto il mio problema di poter autenticare elmah.axd ed essere ancora in grado di abbonarmi al feed RSS con le credenziali di autenticazione di base.

Nota a margine MADAM è scritta dallo stesso ragazzo che ha scritto ELMAH, coincidenza?

Altri suggerimenti

Dipende dal client immagino - conosco alcuni lettori desktop (certo che altri lo fanno , inoltre) supporta i feed che richiedono l'autenticazione e forniscono una casella di accesso al momento della prima richiesta - non sono sicuro di cosa stiano facendo dietro le quinte per farlo funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top