Nome de usuário no endereço de um site FTP

6

Eu configurei um número de sites FTP usando o IIS7.5. Os sites usam nomes de host para diferenciar entre eles. Uma desvantagem de usar nomes de host é que você precisa passar o endereço do site ftp para o nome de usuário, por exemplo.

Endereço Ftp: ftp://ftp.example.com

Nome de usuário: ftp.example.com | User1

Senha: psswrd

Gostaria de pelo menos passar o nome de usuário como parte do endereço de conexão. ftp: //ftp.example.com | [email protected] , mas não consegui para fazer isso usando o Windows Explorer (no Windows 7). Sempre que eu tento essa técnica, ainda sou solicitado a inserir o nome de usuário e a senha.

Eu configurei o useDomainNameAsHostName = True no servidor, o que permite um pouco mais de flexibilidade no nome de usuário, mas ainda não consigo fazê-lo funcionar. ftp: //ftp.example.com%[email protected]/ ou < href="ftp: //User1%[email protected]/"> ftp: //User1%[email protected]/ parece fazer qualquer diferença no IE9 ou no Chrome.

Onde estou indo errado?

    
por SausageFingers 29.11.2011 / 13:30

4 respostas

5

Trabalhar com o IIS 7.5 é um pouco assustador quando se trata dos novos nomes de host virtuais para servidores FTP. No entanto, mesmo que pareça que você configurou o servidor do yoru IIS 7.5 corretamente, IE, Chrome e outros navegadores para não saber como lidar com esse tipo de solicitações de host virtual da mesma maneira que o seu IIS 7.5 pode lidar com isso.

O único trabalho atualmente disponível é fazer o seguinte, citado:

Internet Explorer, Windows Explorer and Virtual FTP Sites issue

Both the Internet Explorer and Windows Explorer first try to connect to FTP server anonymously. If they fail, then they prompt for credentials.When FTP 7 is only configured with virtual host name based sites, these clients fail. Anonymous logon will be be rejected by server the way, that is valid as far as FTP specification (RFC 959) goes, nonetheless, it confuses the authentication sequence of those clients. Robert McMurray, noticed the problem long time ago and proposed a simple workaround in the following blog http://blogs.msdn.com/robert_mcmurray/archive/2008/12/17/ftp-clients-part-3-creating-a-global-listener-ftp-site.aspx.

To address the problem, you would need to create a GlobalListenerFtpSite, that is not configured with a host name. It has to deny anonymous access. As a matter of fact you should not allow any access to the site (leave the authorization section empty). This site will reject the anonymous logon the way that is friendly to IE and Windows Explore. Everything will then work as expected. Robert's blog entry will provide more information on the topic.

Você pode encontrar mais informações detalhadas a partir do artigo a seguir e escrever: Solucionando o problema do separador" | "para sites FTP virtuais (FTP 7.5).

    
por 27.01.2012 / 00:03
4

Eu realmente não entendo qual é o erro real.

Você deve se conectar usando ftp://username:[email protected] . O fato de você achar que precisa passar o domínio em seu nome de usuário não faz sentido para mim.

Mas no seu exemplo, você usa o | em seu nome de usuário e seu navegador tentará alterá-lo para algo com % . Acho que você deveria verificar os logs de erros e voltar a isso.

    
por 27.01.2012 / 16:13
1

Passar apenas o nome de usuário não funcionará do jeito que você quer, ou seja, ter que digitar apenas a senha depois disso. Quando você envia o URL como

ftp://user@host:port

O servidor tentará autenticá-lo sem nenhuma senha, mas, como ele falhará, o servidor solicitará o nome de usuário e a senha novamente. Então você tem que inseri-los novamente na caixa de diálogo que aparece.

Eu tentei no Chrome. O nome de usuário é apagado da URL antes mesmo de executar o ping no servidor. O Firefox nem carregará a página e o Opera, usando seu gerenciador de FTP embutido, diz que falha de autenticação e pede nome de usuário e senha.

    
por 27.01.2012 / 00:00
0

Idealmente, o formato que você está procurando é ftp://user@website .

No entanto, os resultados do uso desse endereço dependem do navegador do cliente e não do servidor da Web.

O Firefox fará exatamente o que você pede, solicitando apenas a senha.
O Internet Explorer irá ignorar o usuário especificado e solicitar os dois.

    
por 27.01.2012 / 22:38