我寫了一個簡單的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()
}
}