【问题标题】:Connect to Visual Studio Team Services from WebService从 WebService 连接到 Visual Studio Team Services
【发布时间】:2013-03-09 23:37:51
【问题描述】:

如何向TfsTeamProjectCollectionFactory.GetTeamProjectCollection 提供凭据?
我正在尝试从女巫那里开发自己的 WCF 服务,我将向 TFS 提出请求
我需要这个 WCF 服务,因为我想在无法使用 Microsoft.TeamFoundation.* dll 的情况下从移动设备管理我的 TFS 文件

我一直在尝试这种方式

Uri tpcAddress= new Uri("https://myserver.visualstudio.com/DefaultCollection");
TfsConnection tfsc = new TfsConfigurationServer(tpcAddress, 
        new NetworkCredential("mail@example.com", "password"));
TfsWebClient wc = new TfsWebClient(tfsc);
tfsc.Connect(ConnectOptions.IncludeServices);

第二次尝试使用从 ICredentialsProvider 派生的自定义类

ICredentialsProvider prov = new myCredentials();
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(tpcAddress, prov);
tpc.EnsureAuthenticated();
tpc.Authenticate();

public class myCredentials : ICredentialsProvider
{
    public ICredentials GetCredentials(Uri uri, ICredentials failedCredentials)
    {
        return new NetworkCredential("mail@example.com", "password");
    }
    public void NotifyCredentialsAuthenticated(Uri uri)
    {
    }
}

但它只在我的机器上工作,因为我登录到 tfs。

【问题讨论】:

  • 如果您提供自己的 WCF 服务,为什么不以已通过身份验证的用户(服务帐户)身份运行该服务?
  • 因为我正在尝试为移动用户提供此服务,以便他们可以访问编辑从他们的团队基础服务器中删除他们的元素

标签: c# web-services azure-devops tfs-sdk


【解决方案1】:

为避免提示您使用 Live ID 登录或必须已登录,您需要启用备用登录凭据并将其与您的服务一起使用。

这篇博文告诉你如何:

http://blogs.msdn.com/b/buckh/archive/2013/01/07/how-to-connect-to-tf-service-without-a-prompt-for-liveid-credentials.aspx

请注意,您需要安装 VS 2012 Update 1 才能使用此功能。

希望这会有所帮助。

【讨论】:

  • 考虑到这种情况:本地计算机:Visual Studio 2012 和 Update 1 Web 服务器:未知如果我将库嵌入到我的网络服务中,上述示例是否有效?
【解决方案2】:

我最近找到了这个解决方案:

NetworkCredential netCred = new NetworkCredential(user,pass);

BasicAuthCredential basicCred = new BasicAuthCredential(netCred);

TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred);

tfsCred.AllowInteractive = false;

TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(path), TFSCred);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多