IIS 7: Desativar autenticação para determinados IPs do cliente

3

Eu tenho um diretório virtual protegido por autenticação básica. Gostaria de desativar a autenticação para determinados IPs, para que todas as solicitações de, por exemplo, 127.0.0.1 são permitidos sem pedir credenciais. Como posso fazer isso?

    
por Jesse McGrew 22.12.2010 / 01:38

1 resposta

2

Não consegui encontrar uma maneira integrada de fazer isso acontecer. Acabei escrevendo um módulo IIS usando as instruções do link .

O módulo verifica o endereço IP do cliente (usando HttpRequest.UserHostAddress ) e, se não estiver na lista de isentos, reimplementa a autenticação básica padrão para contas do Windows (usando a LogonUser API e a configuração HttpContext.User para um código%). O domínio de autenticação e a lista de endereços IP isentos são lidos em WindowsPrincipal (usando web.config ).

Obstáculos incluídos:

  • Eu queria isentar o próprio servidor, então adicionei ConfigurationManager.AppSettings e o endereço IP do servidor à lista de isenção, mas também tive que adicionar 127.0.0.1 (IPv6 localhost).
  • Estou usando isso para proteger o acesso à hgweb e, por algum motivo, tive que alterar as entradas na ::1 ' hgrc line' de allow_push para username depois de ativar o plug-in.
por 03.01.2011 / 20:15