问题
连接到非匿名FTP服务器时,Internet Explorer为什么不提示进行身份验证?
环境:思科网络安全设备(WSA),所有AsyncOS版本
注意:此知识库文章中提及了思科不维护或支持的软件。提供该信息只是为了方便您使用。如需进一步协助,请联系软件供应商。
这是使用FTP over HTTP时Internet Explorer 7和8及Web代理的已知限制。在某些情况下,Internet Explorer 6也不会提示。
在此场景中,WSA发送“401 Authentication Required”请求用户凭证,但Internet Explorer从不提示用户输入凭证。因此,Internet Explorer将显示一个错误页面,指示针对FTP服务器的身份验证失败。
以下页面还提到了Internet Explorer的限制:http://technet.microsoft.com/en-us/library/bb794745.aspx。请阅读“如何使用Internet Explorer访问非匿名的FTP站点”部分。
如Microsoft TechNet文章中所示,解决方法是将USERNAME和PASSWORD预置到URL中。例如:ftp://USERNAME:PASSWORD@ftp.example.com。
请注意,Internet Explorer不允许您在URL中的密码中添加某些字符,例如“?”。如果您的密码包含不允许在URL中输入的字符,则必须将其编码为“URL编码”的值:ftp://username:Pass%3F@ftpsite.com。
有关此类型编码的详细信息,请参阅http://en.wikipedia.org/wiki/Percent-encoding。
作为参考,Firefox没有此限制,并将正确提示用户进行身份验证。