2013-12-11 29 views
0

入住這說明,請 http://www.fa6er.com/Image1.png如果把用戶名和密碼遠程機器需要允許文件從桌面應用程序訪問

如果把用戶名和密碼的桌面應用程序需要訪問的文件共享目錄的服務器上在本地網絡內通過IP?

string var_main_dir = @"\\192.168.1.244\c$\repository"; 

這條線之後,應用程序建立到服務器的連接 - 丁停止並顯示有關

和無效的用戶名和密碼

An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll 

信息調試錯誤信息:用戶名和密碼

回答

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

祝你好運!

+0

還有[那個小小的模擬助手類](http://www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User)我曾經寫過。 –

+0

@Uwe Kiem,如何使用你的課堂。我有創建新課堂嗎?並粘貼在那裏? – CrownFord

相關問題