Autenticación de Windows en IIS en el servidor local con URL completa

Autenticación de Windows en IIS en el servidor local con URL completa

Tengo una aplicación web configurada en IIS 7 configurada con autenticación de Windows. Puedo autenticarme en la máquina a través de su URL completa desde cualquier otra máquina y utiliza el dominio adecuado. Sin embargo, cuando intento conectarme a la máquina desde sí misma a través del dominio completo (ya sea en otro servicio o simplemente a través de una URL en IE), el mensaje de inicio de sesión de Windows intenta forzar el uso de la computadora como dominio, y no el dominio adecuado para iniciar sesión. Intentar especificar el dominio con domain\usernameo [email protected]falla.

Debo tener en cuenta que ver la aplicación web localhosten la máquina funciona, pero usar la site.company.com/webserviceURL de estilo completo no funciona en la máquina local porque el dominio de inicio de sesión es incorrecto. ¿Qué puedo hacer para que utilice el dominio de inicio de sesión adecuado?

Respuesta1

Estaba intentando hacer lo mismo. Acceda a un sitio web en el IIS local utilizando un FQDN y IIS le indica dónde ir.

De todos modos, según mi investigación, debes desactivar la verificación de bucle invertido para los sitios web locales de IIS.

Ver lo siguientepágina de soporte de microsoft.

En caso de que la página desaparezca, hice lo siguiente (que es lo que recomienda en la publicación de blog anterior)

  1. Abra el editor de registro escribiendo regedit en Ejecutar.
  2. Navegue a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. Haga clic derecho en MSV1_0 y haga clic en Nuevo y elija convertirlo en un valor de cadena múltiple.
  4. Ingrese BackConnectionHostNames como nombre para la entrada y haga doble clic en ella para modificarla.
  5. Escriba los nombres de host que necesita utilizar (code-journey.com, por ejemplo).
  6. Reinicie el servicio IISAdmin (“Inicio” -> “Herramientas administrativas” -> “Servicios”)

Espero que esto ayude.

cmb..

Respuesta2

Esto se debe a una característica de seguridad conocida como LoopbackCheck.

Mensaje de error cuando intenta acceder a un servidor localmente utilizando su FQDN o su alias CNAME después de instalar Windows Server 2003 Service Pack 1: "Acceso denegado" o "Ningún proveedor de red aceptó la ruta de red proporcionada"
http://support.microsoft.com/kb/926642

Hay dos resoluciones:

Método 1 (recomendado): cree los nombres de host de la autoridad de seguridad local a los que se pueda hacer referencia en una solicitud de autenticación NTLM. Para hacer esto, siga estos pasos para todos los nodos en la computadora cliente:

  1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y luego haga clic en Aceptar.
  2. Localice y luego haga clic en la siguiente subclave de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. Haga clic con el botón derecho en MSV1_0, seleccione Nuevo y luego haga clic en Valor de cadena múltiple.
  4. En la columna Nombre, escriba BackConnectionHostNames y luego presione ENTRAR.
  5. Haga clic con el botón derecho en BackConnectionHostNames y luego haga clic en Modificar.
  6. En el cuadro Información del valor, escriba el CNAME o el alias DNS que se utiliza para los recursos compartidos locales en la computadora y luego haga clic en Aceptar.

    Nota: Escriba cada nombre de host en una línea separada.

    Nota: Si la entrada de registro BackConnectionHostNames existe como tipo REG_DWORD, debe eliminar la entrada de registro BackConnectionHostNames.

  7. Salga del Editor del Registro y luego reinicie la computadora.

Método 2: deshabilite la verificación de bucle invertido de autenticación configurando la entrada de registro DisableLoopbackCheck en la subclave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa en 1. Para configurar la entrada de registro DisableLoopbackCheck en 1, siga estos pasos en la computadora cliente:

  1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y luego haga clic en Aceptar.
  2. Localice y luego haga clic en la siguiente subclave de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. Haga clic derecho en Lsa, seleccione Nuevo y luego haga clic en Valor DWORD.
  4. Escriba DisableLoopbackCheck y luego presione ENTRAR.
  5. Haga clic con el botón derecho en DisableLoopbackCheck y luego haga clic en Modificar.
  6. En el cuadro Información del valor, escriba 1 y luego haga clic en Aceptar.
  7. Salga del Editor del Registro.
  8. Reinicia la computadora.

Respuesta3

Puedo decirle, según mi experiencia en la configuración de SSO, que IE pasará automáticamente un ticket de Kerberos para iniciar sesión sólo si el sitio y el cliente están juntos en la intranet, o si el sitio está en la zona de confianza. Si IE vehttp://site.company.com/webserviceasumirá que el sitio está en Internet y no pasará credenciales para iniciar sesión.

Hay información útil en este enlace sobre IIS, IE y Kerberos. http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx

Descubrimos que dos cosas que funcionan para permitir el FQDN en la intranet son proporcionar al servidor web un certificado y usar SSL, o agregarlo a la Zona de confianza.

Espero que esto ayude en relación con su configuración.

información relacionada