2014-11-21 126 views
0
NetworkCredential networkCredentials = new NetworkCredential(userName, windowsPassword, domain); 

WindowsCredential windowsCredentials = new WindowsCredential(networkCredentials); 
TfsClientCredentials tfsCredentials = new TfsClientCredentials(windowsCredentials); 
tfsCredentials.AllowInteractive = false; 

TeamProjectCollection = new TfsTeamProjectCollection(new Uri(urltoTFS), tfsCredentials); 
TeamProjectCollection.Authenticate(); 

嗨,連接到TFS使用Windows憑據

我知道上面的作品連接到TFS。我想要做的是通過我的Windows登錄連接,所以我不必創建一個特定的用戶名和密碼的網絡憑證對象..(我見過的每個例子都這樣做)

所以基本上是什麼機器將運行此代碼將使用登錄用戶的憑據。

  1. 可以這樣做,
  2. 如果是這樣,我怎麼去了解它

乾杯, 約翰

+0

我錯過了什麼嗎?不傳遞給TfsTeamProjectCollection構造憑證不能解決? – 2014-11-21 13:28:53

+0

@GiulioVian你是什麼意思..如果你看看上面的代碼,我可以構建TfsTeamProjectCollection關閉TfsClientCredentials,這是關閉構建關閉網絡憑據的Windows憑據。網絡憑據取決於用戶名和密碼。我不想使用靜態用戶名/密碼,但希望使用已登錄的Windows憑據。 – John 2014-11-21 13:35:51

+0

我的意思是:您根本不需要傳遞憑證,在這種情況下,當前用戶適用。 – 2014-11-21 14:00:56

回答

0

您需要將箱子正確SPN的,讓您的網站獲取Kerberos令牌,以便能夠將用戶工作站中的憑據通過您的網站傳遞到TFS服務器。這通常稱爲「雙跳問題」,並且可以通過Active Directory輕鬆實現。