主頁(yè) > 知識(shí)庫(kù) > asp.net訪問(wèn)網(wǎng)絡(luò)路徑方法(模擬用戶登錄)

asp.net訪問(wèn)網(wǎng)絡(luò)路徑方法(模擬用戶登錄)

熱門標(biāo)簽:浦發(fā)電話機(jī)器人提醒還款 昆明語(yǔ)音電銷機(jī)器人價(jià)格 電銷語(yǔ)音機(jī)器人型號(hào)參數(shù) 柳州電銷機(jī)器人公司 太原400電話上門辦理 騰訊地圖標(biāo)注手機(jī) 百度地圖怎樣做地圖標(biāo)注 400電話如何申請(qǐng)取消 征途美甲店地圖標(biāo)注

核心代碼:

public class IdentityScope : IDisposable
{
    // obtains user token
    [DllImport("advapi32.dll", SetLastError = true)]
    static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword,int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
    // closes open handes returned by LogonUser
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    extern static bool CloseHandle(IntPtr handle);

    [DllImport("Advapi32.DLL")]
    static extern bool ImpersonateLoggedOnUser(IntPtr hToken);
    [DllImport("Advapi32.DLL")]
    static extern bool RevertToSelf();
    const int LOGON32_PROVIDER_DEFAULT = 0;
    const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域ò控?中D的?需è要a用?:Interactive = 2
    private bool disposed;
    /// summary>
    /// 登?錄?
    /// /summary>
    /// param name="sUsername">用?戶§名?/param>
    /// param name="sDomain">域ò名?,?如?果?不?在ú域ò中D就í使1用?機(jī)ú器÷IP地?址·/param>
    /// param name="sPassword">密ü碼?/param>
    public IdentityScope(string sUsername, string sDomain, string sPassword)
    {
      // initialize tokens
      IntPtr pExistingTokenHandle = new IntPtr(0);
      IntPtr pDuplicateTokenHandle = new IntPtr(0);
      try
      {
        // get handle to token
        bool bImpersonated = LogonUser(sUsername, sDomain, sPassword,LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle);
        if (true == bImpersonated)
        {
          if (!ImpersonateLoggedOnUser(pExistingTokenHandle))
          {
            int nErrorCode = Marshal.GetLastWin32Error();
            throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode);
          }
        }
        else
        {
          int nErrorCode = Marshal.GetLastWin32Error();
          throw new Exception("LogonUser error;Code=" + nErrorCode);
        }
      }
      finally
      {
        // close handle(s)
        if (pExistingTokenHandle != IntPtr.Zero)
          CloseHandle(pExistingTokenHandle);
        if (pDuplicateTokenHandle != IntPtr.Zero)
          CloseHandle(pDuplicateTokenHandle);
      }
    }
    protected virtual void Dispose(bool disposing)
    {
      if (!disposed)
      {
        RevertToSelf();
        disposed = true;
      }
    }
    public void Dispose()
    {
      Dispose(true);
    }
  }

第二個(gè)參數(shù)是域名,有域名的話寫域名,沒(méi)有域名寫目標(biāo)機(jī)器的IP就可以了

using (IdentityScope c = new IdentityScope("administrator", "192.168.0.1", "11111"))
{
 string[] filelist = System.IO.Directory.GetDirectories(@"\\192.168.0.1\folderName");
}
您可能感興趣的文章:
  • asp.net(c#) RSS功能實(shí)現(xiàn)代碼
  • asp.net下URL網(wǎng)址重寫成.html格式、RSS、OPML的知識(shí)總結(jié)
  • 用 Asp.Net 建立一個(gè)在線 RSS 新聞聚合器的方法
  • 一個(gè)ASP.NET的MYSQL的數(shù)據(jù)庫(kù)操作類自己封裝的
  • asp.net截屏功能實(shí)現(xiàn)截取web頁(yè)面
  • Asp.net中將Word文件轉(zhuǎn)換成HTML的方法
  • ASP.NET自動(dòng)為URL加上超鏈接的代碼
  • 服務(wù)器安全狗導(dǎo)致ASP.NET網(wǎng)站運(yùn)行出錯(cuò)的一個(gè)案例
  • Asp.Net中的字符串和HTML十進(jìn)制編碼轉(zhuǎn)換實(shí)現(xiàn)代碼
  • ASP.NET讀取RSS的方法

標(biāo)簽:白山 蘭州 新疆 江蘇 天門 陽(yáng)泉 張家界 德陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net訪問(wèn)網(wǎng)絡(luò)路徑方法(模擬用戶登錄)》,本文關(guān)鍵詞  asp.net,訪問(wèn),網(wǎng)絡(luò),路徑,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net訪問(wèn)網(wǎng)絡(luò)路徑方法(模擬用戶登錄)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于asp.net訪問(wèn)網(wǎng)絡(luò)路徑方法(模擬用戶登錄)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章