【问题标题】:execute .exe in azure web job TFS connection authentication error在 azure web 作业 TFS 连接身份验证错误中执行 .exe
【发布时间】:2019-11-22 06:06:02
【问题描述】:

我创建了一个使用 Windows 身份验证连接到 tfs 服务器的控制台应用程序。我已经在 azure web 作业中上传了这个应用程序,但是在执行它时显示身份验证错误。如何在 Azure Web 作业上使用我的 Windows 身份验证。我试过下面的代码,但它不起作用。

NetworkCredential credentials = new NetworkCredential("UserName", "PAssword","Domain");

                TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(serverName), credentials);
                tpc.Authenticate();

【问题讨论】:

  • 你的 TFS 版本是多少?
  • 嗨 Dharmesh Patel,您有机会实施我建议的解决方案吗?你能解决吗?如果我的回复有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。

标签: tfs windows-authentication azure-webjobs manual


【解决方案1】:

对于 TFS 2015 及以上版本,要使用特定凭据连接到 TFS,您可以参考以下代码 sn-p:

使用特定凭据连接到 TFS:

// For TFS 2015 & above
// Ultimately you want a VssCredentials instance so... 
NetworkCredential netCred = new NetworkCredential(@"user.name", @"Password1", "DOMAIN");
WindowsCredential winCred = new WindowsCredential(netCred);
VssCredentials vssCred = new VssClientCredentials(winCred);

// Now you can connect to TFS passing Uri and VssCredentials instances as parameters   
Uri tfsUri = new Uri(@"http://tfs:8080/tfs");
var tfsTeamProjectCollection = new TfsTeamProjectCollection(tfsUri, vssCred);

// Finally, to make sure you are authenticated...
tfsTeamProjectCollection.EnsureAuthenticated();

此外,如果您使用的是 TFS2017 及更高版本,您还可以选择使用 PAT 令牌。 特别是在某些存储库或环境中阻止了基本身份验证。 只需在存储库中创建个人访问令牌 (PAT)。然后在您的连接中使用它来访问 TFS。

更多详情请看C.J在这种情况下的回答:Connect to TFS programmatically from vs 2017

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    相关资源
    最近更新 更多