Pregunta

Utilizamos el registro de excepciones de errores de ELMAH en nuestra aplicación. Me gustaría mantener a ELMAH seguro de los usuarios habituales y al mismo tiempo ponerlo a disposición de los administradores / desarrolladores de la aplicación.

Cuando configura la seguridad con autenticación de formularios en web.config, pierde la capacidad de acceder a la fuente RSS. Me gustaría poder proteger ELMAH pero aún así pasar la autenticación al axd para poder acceder a la fuente RSS (es decir, /elmah.axd/rss) desde un lector RSS.

Pensando que la autenticación http sería adecuada ya que probablemente pueda acceder al feed rss con la siguiente sintaxis de url http: // username: password@somedomain.com/elmah.axd/rss Supongo que necesitaría configurar el modo de autenticación = " windows " en esa ruta específica en web.config. Sin embargo, surge un problema: ¿cómo se configuran las credenciales en un archivo virtual?

Mirar a Google trae de vuelta este artículo sobre CodeProject sobre cómo configurar el paso de autenticación con cookies. ¿Es esta una buena solución a mi problema?

¿Hay alguna otra manera que sea mejor poder acceder a la fuente RSS sin dejar de ser seguro?

Gracias.

¿Fue útil?

Solución

Soporte de autenticación HTTP y autenticación de formularios en un único sitio web ASP.NET

Básicamente agrega un dll llamado MADAM a su proyecto, ajusta su web.config y configura qué archivos desea autenticar como Básico en lugar de Formularios:

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

Esto fue fácil de configurar y resolvió mi problema de poder autenticar elmah.axd y aún así poder suscribirme a la fuente RSS con credenciales de autenticación básica.

Nota al margen MADAM está escrita por el mismo tipo que escribió ELMAH, ¿coincidencia?

Otros consejos

Supongo que depende del cliente: sé algunos lectores de escritorio (seguro que otros lo hacen) , también) admite feeds que requieren autenticación y proporciona un cuadro de inicio de sesión cuando lo solicite por primera vez; sin embargo, no estoy seguro de lo que están haciendo detrás de escena para que funcione.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top