IIS 7: deshabilite la autenticación para ciertas IP de clientes

IIS 7: deshabilite la autenticación para ciertas IP de clientes

Tengo un directorio virtual protegido con autenticación básica. Me gustaría deshabilitar la autenticación para ciertas IP, de modo que todas las solicitudes de, por ejemplo, 127.0.0.1 se permitan sin solicitar credenciales. ¿Cómo puedo hacer esto?

Respuesta1

No pude encontrar una forma integrada de hacer que esto suceda. Terminé escribiendo un módulo IIS usandolas instrucciones de Microsoft.

El módulo verifica la dirección IP del cliente (usando HttpRequest.UserHostAddress) y, si no está en la lista de exentos, vuelve a implementar la autenticación básica estándar para cuentas de Windows (usando la LogonUserAPI y configurando HttpContext.Usera WindowsPrincipal). El dominio de autenticación y la lista de direcciones IP exentas se leen web.config(mediante ConfigurationManager.AppSettings).

Los obstáculos incluyeron:

  • Quería eximir el servidor en sí, así que agregué 127.0.0.1la dirección IP del servidor a la lista de exentos, pero también tuve que agregar ::1(IPv6 localhost).
  • Estoy usando esto para proteger el acceso a hgweb y, por alguna razón, tuve que cambiar las entradas en hgrcla allow_pushlínea de usernamea DOMAIN\usernamedespués de habilitar el complemento.

información relacionada