在哪里放用户名和&远程计算机需要允许从桌面应用程序访问文件的密码

时间:2013-12-11 19:13:29

标签: c#

请检查此插图 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

其他信息:用户名和密码

1 个答案:

答案 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());
    }
祝你好运!