2014-11-21 122 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轻松实现。