【问题标题】:Connect to TFS using credentials in C#在 C# 中使用凭据连接到 TFS
【发布时间】:2017-01-11 22:32:53
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# tfs


    【解决方案1】:

    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。

    【讨论】:

      【解决方案2】:

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

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

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

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

      编辑:阅读更多内容,新的、最正确的方法是使用

      TfsClientCredentials

      描述here

      【讨论】:

      猜你喜欢
      • 2015-01-19
      • 2010-12-30
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多