Pregunta

Hemos configurado correctamente IIS para enfrentar 2 instancias de Tomcat usando isapi_redirect.dll. Está haciendo todo de manera inteligente, y hemos sido muy felices. Ahora, sin embargo, estamos utilizando una de las instancias de Tomcat para ofrecer servicios web a través de AXIS. Esto requiere autenticación BÁSICA, y los clientes .NET están fallando.
Los clientes de + .NET pueden omitir IIS navegando al sitio "8180" y están bien
+ Los clientes Java pueden acceder a IIS e ISAPI los pasa y se autentican muy bien con basic.
Los clientes + .NET que golpean a IIS no pueden autenticarse utilizando el mismo desbloqueo.

Fiddler informa esta sesión:
    HTTP / 1.1 401 no autorizado
    Fecha: miércoles, 07 de enero de 2009 14:31:59 GMT
    Servidor: Microsoft-IIS / 6.0
    Autenticación WWW: NTLM
    Desarrollado por X: ASP.NET
    Pragma: sin caché
    Control de caché: sin caché
    Expira: mié, 31 de diciembre de 1969 19:00:00 EST
    WWW-Authenticate: Reino básico = " Módulo de control diario "
    Tipo de contenido: text / html; charset = utf-8
    Contenido-Longitud: 954
    Soporte de proxy: autenticación basada en sesión

Inicia lo que parece un diálogo de autenticación básico, pero en lugar de pedirnos que autentiquemos en el Módulo de control diario, nos pide que autentiquemos en el servidor de Windows. Y efectivamente, el servidor IIS está pidiendo una autenticación NTLM. Si configuro todo el servidor para usar la autenticación básica, obtengo esto de Fiddler:
    HTTP / 1.1 401 no autorizado
    Longitud del contenido: 1656
    Tipo de contenido: texto / html
    Servidor: Microsoft-IIS / 6.0
    Autenticación WWW: Reino básico = " nombreDeServidor "
    Desarrollado por X: ASP.NET
    Fecha: miércoles, 07 de enero de 2009 15:08:32 GMT

Suspiro. Básico, pero ahora el Reino Básico se cambia al servidor IIS. Entonces, si configuro todo el servidor para autenticarse en el dominio Básico, Módulo de control diario, entonces obtengo esto:
    HTTP / 1.1 401 no autorizado
    Fecha: miércoles, 07 de enero de 2009 15:11:45 GMT
    Servidor: Microsoft-IIS / 6.0
    WWW-Authenticate: Reino básico = " Módulo de control diario "
    Desarrollado por X: ASP.NET
    Pragma: sin caché
    Control de caché: sin caché
    Expira: mié, 31 de diciembre de 1969 19:00:00 EST
    WWW-Authenticate: Reino básico = " Módulo de control diario "
    Tipo de contenido: text / html; charset = utf-8
    Longitud del contenido: 954

Raro con los dos encabezados WWW-Auth, ¿no? En cualquier caso, la autenticación con el mismo desenrollado que funciona directamente contra Tomcat falla, ya sea que especifique el dominio o no.

En este momento:
+ Anon está apagado
+ La autenticación integrada de Windows está desactivada
+ La autenticación básica está activada, con el reino configurado como Módulo de control diario

Gracias por mirar.

¿Fue útil?

Solución

¿Cuál es la configuración de la seguridad del directorio?

¿Está seguro de que solo se habilita la autenticación básica?

Otro punto es. Quizás en el nivel iis debería usar autenticación anónima. ¿Y tomcat se está encargando de implementar el intercambio básico de autenticación?

La fuente del problema (del encabezado que publicó) es que el cliente .net reconoce que el sitio admite la autenticación ntlm. E intente autenticarse con ese protocolo. El cliente de Java simplemente ignora la opción ntlm, por lo que utiliza cualquier otro protocolo de autenticación que admita el sitio.

Debe asegurarse de que la autenticación integrada no esté habilitada en el sitio y el nivel de archivo.

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