2012-08-09 15 views
5

Tengo una aplicación de intranet de ASP.NET que está configurada para ejecutarse en modo de autenticación de Windows integrada. Ha funcionado bien hasta que surgió una necesidad recientemente.Omitir la autenticación de Windows

Lo que necesita es que la Intranet debe verificarse por disponibilidad mediante un comprobador de disponibilidad que es un servicio de Windows. Lo que hace el verificador es presionar una página ASP.NET y examinar el objeto de respuesta. Dado que el servicio de Windows no se está ejecutando con una cuenta de usuario de dominio, se pone

The remote server returned an error: (401) Unauthorized.

estoy pensando en añadir una nueva página asp.net para el corrector de usar y quiero decir que el sistema no es para autenticar. Pero creo que la autenticación ocurre antes de que la aplicación tenga la oportunidad de revisar la página, de que se devuelve el error 401 antes de que el código de la aplicación "vea" la página.

¿Cuáles son mis opciones para resolver esto?

Gracias!

John

+0

hizo nada trabajar con usted? Tengo exactamente el mismo problema. – Costa

Respuesta

1

Prueba esto:

agregar una nueva carpeta a su sitio web (por ejemplo:/Check)

in/check, crear nuevas web.config contiene:

<configuration> 
    <system.web> 
    <authentication mode="Windows" /> 
    <authorization> 
     <allow users="?"/> 
     <allow users="*"/> 
    </authorization> 
    </system.web> 
</configuration> 

Luego, todo lo que acceda en/Verificar no debe ser autenticado.

+0

Gracias por las respuestas rápidas. Intenté – John

+0

Lo siento, no sabía que solo tenía 5 minutos para editar mis comentarios. Intenté el enfoque de la carpeta "Comprobar" pero obtuve este error: es un error utilizar una sección registrada como allowDefinition = 'MachineToApplication' más allá del nivel de la aplicación. Este error puede deberse a que un directorio virtual no está configurado como una aplicación en IIS. (E: \ Root \ Intranet \ check \ web.config línea 3). También me gustaría agregar que esta aplicación se ejecuta en modo clásico IIS 7. – John

3

Además de agregar una nueva carpeta, como comentó @GordonBell, puede usar el elemento location en su archivo raíz web.config.

Ejemplo:

<location path="YourFile.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
+0

Sí, buen punto. Aunque eso debería ser permitir a los usuarios = "?" para anónimo –

+0

@GordonBell Su comentario no es exacto. '*' significa _todos los usuarios_. '?' significa usuarios anónimos. Por lo tanto, ' Jupaol

Cuestiones relacionadas