2009-06-25 11 views
14

Utilizamos el registro de excepción de error ELMAH en nuestra aplicación. Me gustaría mantener ELMAH seguro de los usuarios regulares mientras lo sigo poniendo a disposición de los administradores/desarrolladores de la aplicación.Asegurando ELMAH mientras hace posible acceder a través de RSS Reader

Cuando configura la seguridad con la autenticación de formularios en el archivo web.config, pierde la capacidad de acceder a la fuente RSS. Me gustaría poder asegurar 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 de RSS.

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

Al mirar a Google vuelve a aparecer este article on CodeProject sobre cómo configurar el paso de autenticación con las cookies. ¿Es esta una buena solución para mi problema?

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

Gracias.

Respuesta

12

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

Básicamente se agrega una DLL llamada SEÑORA a su proyecto de ajustar su web.config y configurar qué archivo (s) que desea autenticarse como básico en lugar de las formas:

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

Ésta era fácil de configurar y resolver 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á escrito por el mismo tipo que escribió ELMAH, ¿coincidencia?

1

Depende del cliente, supongo - Sé que some desktop readers (también lo hacen otros) admite feeds que requieren autenticación, y proporcionan un cuadro de inicio de sesión cuando lo solicita por primera vez - no estoy seguro de lo que están haciendo entre bastidores para hacerlo trabajo sin embargo.

Cuestiones relacionadas