在Windows中使用Windows凭据进行FTP连接

时间:2011-03-01 14:16:18

标签: c# .net ftp kerberos

FTP Login using Windows Credentials有关的问题,但在这个帖子中,讨论朝另一个方向发展。

CredentialCache.DefaultCredentials不适用于FTP。有没有办法在Windows#中使用Windows用户帐户作为FTP连接的凭据?

如果FTP服务器可以接受Kerberos票证进行身份验证,您如何使用FtpWebRequest类发送它?

2 个答案:

答案 0 :(得分:0)

以下是3种登录FTP的方法,但仍需要用户输入用户名或密码:

    System.Net.FtpWebRequest f = System.Net.FtpWebRequest.Create(new Uri("ftp://somewhere.com")) as System.Net.FtpWebRequest;
    if (f != null)
    {
        f.Credentials = new System.Net.NetworkCredential("username", "password", "domain");
        f.Credentials = new System.Net.NetworkCredential("username", "password");
        f.Credentials = new System.Net.NetworkCredential(System.Security.Principal.WindowsIdentity.GetCurrent().Name, "password");
    }

最后一个采用Windows用户名,但仍需要某种方式从用户那里获取密码。

答案 1 :(得分:0)

我不确定你在说什么凭证。

如果您正在谈论FTP的用户名和密码,那么:

R.Credentials = new NetworkCredential(UserName, Password);

应该做的伎俩。

如果您询问Windows使用的代理凭据通过代理,就像Explorer或Firefox通过代理一样:

R.Proxy = new WebProxy();

会做的伎俩。