2009-06-22 21 views
6

¿Hay una manera de determinar si un navegador compatible con NTLM sin tener NTLM habilitada para el sitio en particular o directorio en IIS y sin mostrar un cuadro de diálogo de inicio de sesión/pop-up? Preferiblemente, determine esto usando ColdFusion o quizás alguna combinación de JS y CF. Preferiría no restringir esto a solo IE, ya que otros navegadores (como FF) son compatibles con la autenticación NTLM.Determinar si el navegador es compatible con la autenticación de Windows integrada

Respuesta

5

Si solicita una página y la página devuelve 401 y dice que solo acepta NTLM, y luego el navegador envía otro paquete HTTP que intenta responder a ella, entonces es compatible con NTLM. No tiene que hacer que IIS haga esto: puede tener cualquier página donde pueda establecer los códigos de respuesta y los encabezados soliciten NTLM. Si no recibe otra solicitud, significa que el cliente no pudo autenticarse de esta manera.

Puede detectar esto en el cliente colocando esta solicitud en un IFrame, luego en la página externa revisando para ver qué sucedió en el iframe.

+0

Intenté hacer esto, pero desafortunadamente el navegador aún solicita credenciales. ¿Qué tipo de ruinas la transparencia de todo el asunto. Básicamente, no quiero ningún inicio de sesión que no sea la autenticación NTLM transparente. ¿Hay alguna forma de suprimir este comportamiento predeterminado? Probé la sugerencia de Steve, también, pero parece que usar esa técnica hace que el servidor CF envíe los datos y ya no está transmitiendo los datos del cliente. Esto da como resultado una respuesta 401 constante. – illvm

+0

¿Vió lo que sucede si intenta hacer una solicitud XMLHTTP? –

+0

También trataría de ver qué ocurre con otras formas de forzar una solicitud HTTP (etiquetas img, script, enlace, etc.). Tal vez haya uno que el navegador silenciosamente fallará (y no emergente). –

2

Basándose en la respuesta de Lou, podría hacer una solicitud cfhttp dentro de un bloque try/catch. Luego, verifica los encabezados de respuesta para determinar tus próximos pasos.

0

Desafortunadamente, es posible que se vea forzado a utilizar el rastreo del navegador y una lista blanca.

+0

Desafortunadamente, esto no funciona porque no hay forma de saber si el navegador está configurado para usar esa página como fuente confiable para la autenticación NTLM. – illvm

Cuestiones relacionadas