使用C#凭据连接到TFS

4

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

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

但需要使用凭据进行连接。例如,我想使用用户名“myusername”和密码“mypassword”连接到“http://tfs.mydomain.com/sandbox/”,那么设置这些凭据的正确方法是什么?

在使用凭据连接后,我知道如何完成其他所有需要的操作。

2个回答

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。


0

MSDN提到了使用凭据连接到TFS 这里

当您连接到Team Foundation Server时,可以使用ICredentials对象指定要模拟的身份。此策略不需要特殊权限,但您必须能够获取身份的密码以创建ICredentials对象。

还可以在连接到Team Foundation Server时指定ICredentialsProvider的实现来处理新凭据的请求。当由ICredentials对象指定的凭据未经过成功验证或授权执行操作时,系统会调用您指定的ICredentialsProvider的实现来请求新凭据。

要提示用户输入凭据,可以使用UICredentialsProvider类,该类通过显示登录对话框来提示用户输入新凭据,从而实现ICredentialsProvider。

编辑:深入阅读后,最新、最正确的方法是使用

TfsClientCredentials

这里描述了这个


我真的看不到你在 TfsClientCredentials 中设置凭据的地方...我该如何设置密码和用户名? - Nived
1
本文章解释了如何使用TFS,如果您想要查看一个使用TFS的好项目,可以看看https://taskcardcreator.codeplex.com/,它是一个很好的示例。还有这里在stackoverflow上的答案https://dev59.com/EE7Sa4cB1Zd3GeqP6cVZ。 - Thorarins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接