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

发布于 2024-10-19 21:27:25 字数 567 浏览 1 评论 0原文

FTP Login using Windows Credentials 相关的问题,但在这个线程上,讨论进入了另一个方向。

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

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

A question related to FTP Login using Windows Credentials but on this thread the discussion went in another direction.

The CredentialCache.DefaultCredentials doesn't work with FTP. Is there a way to use the Windows user account as the credentials for an FTP connection in C#?

If the FTP server could accept Kerberos tickets for authentication, how could you send it using the FtpWebRequest class ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅笑依然 2024-10-26 21:27:25

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

    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 用户名,但仍然需要某种方式从用户那里获取密码。

Below are 3 ways to login to FTP, but they still require user input for either the username or password:

    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");
    }

The last one takes the windows username, but still requires some way to obtain the password from the user.

離人涙 2024-10-26 21:27:25

我不确定你所说的凭证是什么。

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

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

应该可以解决问题。

如果您询问 Windows 使用的代理凭据来通过代理(与 Explorer 或 Firefox 通过代理的方式相同),那么:

R.Proxy = new WebProxy();

就可以了。

I'm not sure what credentials are you talking about.

If you are talking about the FTP's username and password then:

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

Should do the trick.

If you are asking about Proxy credentials that are used by windows to go over a proxy the same way Explorer or Firefox pass the proxy then:

R.Proxy = new WebProxy();

Will do the trick.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文