Autenticação do Windows para o IIS no servidor local com o URL completo

7

Eu tenho um aplicativo da web configurado no IIS 7 configurado com a Autenticação do Windows. Eu posso autenticar para a máquina através de seu URL totalmente qualificado de qualquer outra máquina e ele usa o domínio apropriado. No entanto, quando tento me conectar à máquina por meio do domínio totalmente qualificado (em outro serviço ou apenas via url no IE), o prompt de Login do Windows tenta forçar o uso do computador como o domínio, e não o domínio apropriado para efetuar login. A tentativa de especificar o domínio com domain\username ou [email protected] falha.

Devo observar que a visualização do aplicativo da web via localhost na máquina funciona, mas o uso da URL% style site.company.com/webservice completa não funciona na máquina local, porque o domínio de login está errado. O que posso fazer para usar o domínio de login adequado?

    
por roviuser 18.10.2012 / 17:10

3 respostas

9

Eu estava tentando fazer a mesma coisa. Acesse um site no IIS local usando um FQDN e continue sendo informado para onde ir pelo IIS.

De qualquer forma, da minha escavação, você precisa desativar a verificação de loopback para sites IIS locais.

Consulte o seguinte página de suporte da Microsoft .

No caso da página desaparecer, eu fiz o seguinte (que é o que ele recomenda no post acima)

  1. Abra o editor de registro digitando regedit em Executar.
  2. Navegue até HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Clique com o botão direito do mouse em MSV1_0 e clique em Novo e escolha torná-lo um valor de várias sequências.
  4. Digite BackConnectionHostNames como nome da entrada e clique duas vezes nela para modificá-la.
  5. Digite os nomes de host que você precisa usar (code-journey.com, por exemplo).
  6. Reinicie o IISAdmin Service ("Iniciar" - > "Ferramentas administrativas" - > "Serviços")

Espero que isso ajude.

cmb ..

    
por 05.11.2012 / 19:07
3

Isso se deve a um recurso de segurança conhecido como LoopbackCheck.

Mensagem de erro ao tentar acessar um servidor localmente usando seu FQDN ou seu alias CNAME depois de instalar o Windows Server 2003 Service Pack 1: "Acesso negado" ou "Nenhum provedor de rede aceitou o caminho de rede fornecido"
link

Existem duas resoluções:

Método 1 (recomendado): crie os nomes de host da Autoridade de Segurança Local que podem ser referenciados em uma solicitação de autenticação NTLM. Para fazer isso, siga estas etapas para todos os nós no computador cliente:

  1. Clique em Iniciar, clique em Executar, digite regedit e clique em OK.
  2. Localize e clique na seguinte subchave do Registro: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Clique com o botão direito do mouse em MSV1_0, aponte para Novo e clique em Valor de seqüência múltipla.
  4. Na coluna Nome, digite BackConnectionHostNames e pressione ENTER.
  5. Clique com o botão direito do mouse em BackConnectionHostNames e clique em Modificar.
  6. Na caixa Dados do valor, digite o CNAME ou o alias do DNS usado para os compartilhamentos locais no computador e clique em OK.

    Nota: Digite cada nome de host em uma linha separada.

    Observação: se a entrada de registro BackConnectionHostNames existir como um tipo REG_DWORD, você deverá excluir a entrada de registro BackConnectionHostNames.

  7. Saia do Editor do Registro e reinicie o computador.

Método 2: Desative a verificação de loopback de autenticação definindo a entrada de registro DisableLoopbackCheck na subchave de registro HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa como 1. Para definir a entrada de registro DisableLoopbackCheck como 1, execute estas etapas no computador cliente:

  1. Clique em Iniciar, clique em Executar, digite regedit e clique em OK.
  2. Localize e clique na seguinte subchave do Registro: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. Clique com o botão direito do mouse em Lsa, aponte para Novo e clique em Valor DWORD.
  4. Digite DisableLoopbackCheck e pressione ENTER.
  5. Clique com o botão direito do mouse em DisableLoopbackCheck e clique em Modificar.
  6. Na caixa Dados do valor, digite 1 e clique em OK.
  7. Saia do Editor do Registro.
  8. Reinicie o computador.
por 05.11.2012 / 19:51
1

Eu posso dizer que, com base em alguma experiência na configuração do SSO, o IE passará automaticamente um ticket do kerberos para logon somente se o site e o cliente estiverem juntos na intranet ou se o site estiver na zona confiável. Se o IE visualizar o link , ele assumirá que o site está na Internet e não passará as credenciais para o logon.

Existem algumas informações úteis neste link referentes ao IIS, IE e Kerberos. link

Duas coisas que descobrimos que funcionam para permitir o FQDN na intranet é fornecer ao servidor da Web um certificado e usar SSL ou adicioná-lo à Zona confiável.

Espero que isso ajude em relação à sua configuração.

    
por 18.10.2012 / 19:40