无需凭据即可打开/关闭与UNC的连接

时间:2009-10-22 17:32:01

标签: c# .net pinvoke credentials unc

我有一个.NET客户端应用程序间歇地失去与UNC共享的连接,其中用户在域上或在服务器上具有相同凭据的本地帐户。 SO和Google都有很多使用LogonUser和WNetAddConnection通过P-Invoke的例子,但都需要用户的密码。我们所有应用程序需要做的是显式打开与UNC的连接,复制文件,并在不提供凭据的情况下显式关闭连接 - 换句话说,使用当前凭据。任何人都可以指出我在C#中如何做到这一点的正确方向?

1 个答案:

答案 0 :(得分:1)

根据WNetAddConnection2函数的文档,您可以传入Null作为用户名以使用当前进程的用户上下文。我认为这意味着它将使用运行客户端应用程序的帐户的安全上下文。 MSDN还说要传入Null密码以使用与指定的任何用户名相关联的密码。

将两者都设置为Null只会神奇地起作用。