2012-09-07 42 views
3

我们试图验证到我们的使用TeamFoundationServer .NET控件中承载在C#TFS service account,这里是我的代码:无法从C#代码连接到我的TFS服务器

NetworkCredential tfsCredential = new NetworkCredential(username, password); 
TeamFoundationServer tfsServer = new TeamFoundationServer(tfsAddress, tfsCredential); 

tfsServer.Authenticate(); 

注意,这是一个本地TFS服务器,它是托管的TFS服务tfspreview.com,我们尝试使用Windows Live帐户和备用身份验证凭据进行登录,但每次我们尝试进行身份验证时,Internet Explorer将在新窗口中打开并要求提供凭据。

如果我们使用IE提示连接它的工作原理,但我们要保存凭证并连接到服务器,而无需每次都询问凭据,

回答

0

您可以根据服务器

的模拟验证码尝试
var serverUrl = ""; 

ICredentials credentials = new NetworkCredential(username, password, domain); 
ICredentialsProvider TFSProxyCredentials = new NetworkCredentialsProvider(credentials); 

TfsTeamProjectCollection currentCollection = new TfsTeamProjectCollection(new Uri(serverUrl), credentials); 


// Get the TFS Identity Management Service 
IIdentityManagementService identityManagementService = currentCollection.GetService<IIdentityManagementService>(); 
// Look up the user that we want to impersonate 
TeamFoundationIdentity identity = identityManagementService.ReadIdentity(IdentitySearchFactor.AccountName, username, MembershipQuery.None, ReadIdentityOptions.None); 


// Open collection impersonated 
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(serverUrl), credentials, TFSProxyCredentials, identity.Descriptor); 

//For example we can access to service WorkItemStore 
var workItemStore = tfs.GetService<WorkItemStore>(); 
+0

它仍然提示一个IE窗口,要求我的凭据。第一个操作是'currentCollection.GetService ();'。这是正常的还是我的凭据,在我的代码中无法正常工作,它不应该做任何提示。 – user1655125

+0

我认为你的凭证有问题 –

+0

这当然是合乎逻辑的扣除,但如果我在提示中输入它们,相同的凭证也可以正常工作 – user1655125

0

Tfspreview.com现在支持基本身份验证,它可以消除所有显示的IE。请参阅here了解如何为您的tfspreview.com进行设置,然后使用您配置的用户名和密码。

1

您可以在配置文件下配置基本身份验证,也可以使用服务凭据。这一切都取决于你需要什么样的权限。基本身份验证在用户帐户下运行,在服务帐户拥有较高权限的情况下,这往往是不好的做法。

配置了TF服务

对于基本的用户身份验证基本身份验证,你应该连接到TF服务,并指示打开您的个人资料。您的个人资料上有一个“凭证”标签,可让您配置这些凭证。这对通过API进行每用户/用户访问是很好的,但如果你想通过服务器或服务来运行,这并不好。

Configure basic authentication for TF Service

检索TFS服务凭证

我创建了一个应用程序调用的TFS Service Credential Viewer,使您可以检索你的TF服务实例的服务凭据。这与测试服务器在将本地配置为在云环境中工作时所执行的Build &一样。

Retrieve TFS Service Credentials

我希望这有助于...