我正在尝试使用以下方式连接到TFS:
TfsTeamProjectCollection teamProjectCollection
= new TfsTeamProjectCollection(new Uri(teamProjectCollectionUrl));
但有凭据。例如,我想使用凭据“myusername”和“mypassword”连接到“http://tfs.mydomain.com/sandbox/”...为此设置凭据的正确方法是什么?
使用凭据连接后,我知道如何做我需要的其他所有事情。
答案 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