O que o AuthForwardServerList faz?

3

Um pouco de contexto, temos vários clientes do Windows 7 conectados a um PDC do Samba com suporte a LDAP. Também temos um servidor Zimbra 8 que autentica o mesmo LDAP. Quando os usuários fazem logon nos clientes do Windows 7, um script em lote mapeia o número de drivers de rede no servidor Samba. Tudo isso está funcionando bem.

Agora eu gostaria de mapear a pasta Briefcase do Zimbra de cada usuário quando o usuário faz o login usando o WebDAV. Adicionamos: net use Z: https://mail.ourserver.com/dav/user/Briefcase /u:user ao nosso script em lote, no entanto, ele só funciona depois que o usuário inseriu manualmente sua senha no prompt de comando de abertura.

Obviamente, o que eu quero fazer aqui é montar a unidade usando as credenciais de login do Windows e sem solicitar a senha uma segunda vez depois que elas já tiverem efetuado login. Usar net use Z: https://our.server.com/dav/user/Briefcase /u:user password funciona, mas não o fazemos ter acesso à senha de texto simples do usuário e, portanto, não é uma opção.

Me deparei com a chave de registro AuthForwardServerList mencionada no artigo da KB, que supostamente resolve um problema semelhante ao se conectar a servidores do SharePoint por meio do WebDAV. Eu tentei adicionar a chave do registro com o valor https://*.ourserver.com e várias combinações do mesmo, reiniciei a máquina, mas isso parece não ter efeito. net use ainda solicita a senha e a opção "Mapear unidade de rede" no Windows Explorer.

Então, minha pergunta é: como funciona AuthForwardServerList ? Funciona apenas com servidores Windows, o servidor tem que suportar o NTLM ou qualquer trabalho com qualquer servidor WebDAV usando BasicAuth? Funciona apenas com o IE e não com o Windows Explorer?

Como alternativa, existe alguma maneira de acessar a senha que o usuário usou para fazer login na máquina e, de alguma forma, transmiti-la ao script? O script é gerado dinamicamente no servidor samba e executado no cliente, portanto, mesmo que a senha possa ser capturada em texto simples no servidor, seria possível anexá-la ao script.

    
por jeshurun 26.09.2013 / 00:17

1 resposta

0

Recentemente me deparei com isso e quis fornecer uma resposta, mesmo que a pergunta esteja datada. Minha resposta vem do TechNet KB 943280 .

Após a chave de registro AuthForwardServerList ser criada, o serviço WebClient lerá o valor da entrada. Se o computador cliente tentar acessar uma URL que corresponda a qualquer uma das expressões na lista, a credencial do usuário será enviada com êxito para autenticar o usuário, mesmo que nenhum proxy esteja configurado.

Esta função foi fornecida como uma correcção para o Windows Vista e foi incorporada no Windows 7 devido a [na minha opinião] uma grande falha na forma como o serviço Win HTTP funciona. O serviço HTTP Win ignora o mecanismo interno de verificação de zona do IE, que procuraria verificar se um site está na zona da intranet local e enviaria automaticamente as credenciais para esse site de intranet. Em vez disso, o Win HTTP avalia o URL da seguinte forma:

  • "Se o URL não contiver nenhum ponto no nome do servidor, como no exemplo a seguir, presume-se que o servidor esteja em um site de intranet local." link
  • "Se o URL contiver pontos, presume-se que o servidor esteja na Internet. Os períodos indicam que você usa um endereço FQDN. Portanto, nenhuma credencial é enviada automaticamente para esse servidor, a menos que um proxy esteja configurado e a menos que esse servidor seja indicado para bypass proxy. "

Isso é um erro tolo ou ridiculamente preguiçoso. Não haveria nenhum problema, nenhum hotfix e nenhuma chave AuthForwardServerList se o serviço HTTP Win simplesmente fizesse referência às zonas de segurança do IE.

    
por 08.09.2016 / 22:26