使用C#中的凭据连接到TFS

时间:2015-04-15 13:31:44

标签: c# tfs

我正在尝试使用以下方式连接到TFS:

TfsTeamProjectCollection teamProjectCollection 
  = new TfsTeamProjectCollection(new Uri(teamProjectCollectionUrl));

但有凭据。例如,我想使用凭据“myusername”和“mypassword”连接到“http://tfs.mydomain.com/sandbox/”...为此设置凭据的正确方法是什么?

使用凭据连接后,我知道如何做我需要的其他所有事情。

2 个答案:

答案 0 :(得分:3)

NetworkCredential类实现了ICredentials接口,允许您对AD进行身份验证。

NetworkCredential cred = new NetworkCredential("Username", "Password", "Domain");

将NetworkCredential对象作为构造函数的一部分传递。

有关您必须致电的新构造函数的详细信息,请参阅此处:https://msdn.microsoft.com/en-us/library/ff737302.aspx

现在的最佳做法是使用TfsClientCredentials类,如下所示:

NetworkCredential cred = new NetworkCredential("Username", "Password", "Domain");
BasicAuthCredential basicCred = new BasicAuthCredential(cred);
TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred);

我个人总是只使用NetworkCredential。

答案 1 :(得分:0)

MSDN谈论使用凭据连接到TFS here

  

连接到Team Foundation时,可以使用ICredentials对象   服务器指定要模拟的标识。这种策略没有   需要特殊权限,但您必须能够获得   用于创建ICredentials对象的标识的密码。

     

您还可以指定ICredentialsProvider的实现   连接到Team Foundation Server以处理新的请求   证书。系统调用实现   您指定的ICredentialsProvider,用于在何时请求新凭据   ICredentials对象指定的凭据不是   成功通过身份验证或授权执行操作。

     

要提示用户输入凭据,您可以使用UICredentialsProvider   class,通过显示登录来实现ICredentialsProvider   用于提示用户输入新凭据的对话框。

编辑:挖掘更多阅读材料,新的,最正确的方法是使用

TfsClientCredentials

描述为here