2013-11-28 149 views
0

我寫了一個簡單的ASP.Net WebAPI,它使用休息調用從本地tfs服務器下載文件。問題是當我從我的用戶帳戶(corp域)連接到這個站點,並將webRequest中的憑據設置爲CredentialsCache.DefaultCredentials時,它工作正常,因爲我是tfs項目上的vlid用戶。 現在,我的團隊中的其他人希望使用相同的webAPI,並且當他們點擊相同的url時,我可以看到其證書再次用於下載文件。 我懷疑這是因爲在我的控制器代碼中使用了CredentialsCache.DefaultCredentials,但我無法找到一種方式,我應該能夠使用客戶端的身份用於下載請求。 我的問題是,有沒有辦法提取我可以用於身份驗證的遠程用戶(在同一個域上)的Windows身份或網絡憑證。我很抱歉,如果這是一個DUP,但我無法找到我的問題的目標回答。示例代碼粘貼在下面。ASP.Net for WebApi中的Windows身份驗證

var request = (HttpWebRequest)WebRequest.Create(uri); 

     request.Credentials = CredentialCache.DefaultNetworkCredentials; 

     try 
     { 
      var webResponse = request.GetResponse(); 
      var webStream = webResponse.GetResponseStream(); 
      if (webStream != null) 
      { 
       var objReader = new StreamReader(webStream); 
       return objReader.ReadToEnd() 
      } 
     } 

回答