请检查此插图 http://www.fa6er.com/Image1.png
在哪里放置桌面应用程序需要通过IP访问本地网络服务器上共享目录中的文件的用户名和密码?
string var_main_dir = @"\\192.168.1.244\c$\repository";
在此行之后,应用程序连接到服务器-BUT- stop并显示有关
的调试错误消息且用户名和密码无效
An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll
其他信息:用户名和密码
答案 0 :(得分:1)
在连接服务器之前,您需要使用您拥有的用户名和密码来模拟登录。以下堆栈溢出应该有助于编写代码:How do you do Impersonation in .NET?。
缩短版本为:
public Impersonation(string domain, string username, string password)
{
var ok = LogonUser(username, domain, password,
LOGON32_LOGON_NEW_CREDENTIALS, 0, out this._handle);
if (!ok)
{
var errorCode = Marshal.GetLastWin32Error();
throw new ApplicationException(string.Format("Could not impersonate the elevated user. LogonUser returned error code {0}.", errorCode));
}
this._context = WindowsIdentity.Impersonate(this._handle.DangerousGetHandle());
}
祝你好运!